전체 글 777

자바 프로그래밍.

자바 프로그래밍이란? 절차를 구현할 능력을 갖는 것. 프로그램은 동작하는 것은 똑같지만 구조적으로 만드느냐 객체지향으로 만드느냐로 나뉜다. 객체지향 프로그래밍. OOP(Object Oriented Programing) 의 기본 컨셉은 프로그램 내에서 표현하고자 하는 실 세계(real world)의 일들을 객체로 사용해서 모델링 하고, 객체를 사용하지 않으면 불가능 혹은 무지 어려웠을 일들을 쉽게 처리하는 방법을 제공한다는 것입니다. 객체는 당신이 모델링하고자 하는 일이나 기능 혹은 필요한 행동들을 표현하는 프로그램 코드와 그와 연관된 데이터로 구성됩니다. 객체는 데이터(그리고, 함수 역시)를 감싸서 (공식적인 표현으로는 encapsulate) 객체 패키지 (해당 객체를 참조하기 위한 이름. namespa..

IT 유용한 정보 2020.04.30

함수(메소드, 기능)

메인 메소드(main Method). 우리가 흔히들 말하는 메인 함수. 메소드란? 객체에 대한 동작을 의미. 메인 메소드란? 자바 프로그램을 실행할 때의 시작 지점을 의미. * 작성법 : public static void main(String[] args) { } * 구성 : public, static, void, (String[] args) 1. Why main mehtod is public in Java? 메인 메소드는 왜 public인가? - public은 자바 접근제한자 중에 하나이다. (아래로 갈수록 점점 제한이 많아지게 되는 순서) public : 모든 클래스에서 접근이 허용 protected : 같은 패키지(폴더)에 있는 클래스와 상속관계의 클래스들만 허용 default : 같은 패키지 내에..

Java 2020.04.28

상속과 구성

상속(Inheritance) 우리가 생각하는 상속이라는 단어가 맞다. 현실 세계에서 부모님이 자식들에게 재산을 물려주는 것과 비슷하다. 차이라고 하면 자식(클래스)이 상속받고 싶은 부모(클래스)를 선택해서 물려받는다. 이때 상속받는 클래스를 자식 클래스, 하위 클래스 또는 서브 클래스라고 부른다. 상속을 해주는 클래스를 부모 클래스, 상위 클래스 또는 슈퍼 클래스라고 한다. 상속의 대상 자식 클래스가 부모 클래스로부터 상속을 받게 되면 부모 클래스의 필드와 메서드를 물려받게 된다. 단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가하고, 패키지가 다를 경우 접근제어자가 default인 경우도 상속이 불가하다.(접근제어자에 대한 내용은 별도 포스팅 예정) 상속의 장점 상속의 장점은 처음에 ..

Java 2020.04.28

class 객체 선언 방법, 메소드 정의, 호출 기초.

// class 를 만든 후, 객체를 선언하고 정의한 메소드 호출 방법 // ---------------------방법 1.---------------------------- class Main { public static void main(String[] args) { 자동차 a자동차 = new 자동차(); a자동차.달리다(); } } class 자동차 { void 달리다() { System.out.println("자동차가 달립니다."); } } // ---------------------방법 2.---------------------------- class Main { public static void main(String[] args) { 자동차 a자동차; a자동차 = new 자동차(); a자동차...

Java 2020.04.26

객체배열 선언 방법 3가지

예시 1. int[] arras = new int[3]; arras[0] = 4; arras[1] = 6; arras[2] = 12; 예시 2. int[] arras = new int[] { 4, 6, 12 }; 예시 3. int[] arras = { 4, 6, 12 }; 모두 각 배열에 4, 6, 12라는 숫자를 선언하는 방법이다. 값은 같으나 방법이 3가지가 되는 것을 오늘에서야 깨달았다. 알고 있던 방법은 예시 1이었고 예시 2, 3을 마주하며 '내가 알던 게 아닌데..'라는 생각으로 낯설었던. 그러나 각 방법으로 실행해본 결과, 모두 오류 없이 실행되었고 출력 값 또한 동일했다.

Java 2020.04.25

지역변수와 인스턴스 변수

1. 지역변수 - 지역변수에는 값을 1개만 담을 수 있다. - 그러나 객체를 직접 담을 수는 없기에 객체를 조종할 수 있는 리모콘을 담을 수 있다. - 다른 리모콘을 가지고 있더라도 같은 객체를 바라보고 있다면 서로 값을 조정할 수 있다. - 지역변수는 스택이라는 세상에 살고 있다. - 지역변수는 해당 클래스 안에서만 사용이 가능하다. - 소속된 함수의 기능이 끝나면 지역변수는 바로 사라진다. --> 비유 : 하루살이. - 지역변수 타입은 최초 한번만 선언할 수 있다. - 그렇지만 지역변수 값은 언제나 변경 가능하다. 2. 인스턴스 변수 - new를 통하여 선언한다. - java의 객체지향 안에서는 객체를 의미한다. - 객체 생성이 가능하기 때문에 각 객체마다 다른 값 할당이 가능하다.

Java 2020.04.24

클래스와 객체

1. 클래스 - 객체를 만들 수 있다. - 변수를 만들 수 있다. - 객체를 조종할 수 있는 리모콘을 만들 수 있다. - 클래스를 만들어 원하는 값을 위한 함수도 추가하여 사용할 수 있다. - 객체를 만들기 위한 설계도. --> 내가 클래스를 공부하며 익힌 용어들은 기본적으로 void, String, int, return, static, public .. 등등의 것들이 있다. 2. 객체 - 객체는 기본적으로 자신을 조종할 수 있는 리모콘을 가지고 있다. - 객체를 조종할 수 있는 변수와 연결되어 있지 않으면 객체로써 할 일을 하지 못한다. - 객체는 변수가 없어져도 클래스 안에 살아남아 있지만 연결된 변수가 1개도 없어진다면 그 때 힙 안을 돌아다니는 가비지 컬렉터가 그 객체를 제거해준다. - 객체 선언..

Java 2020.04.24

JVM이란??

----- JVM. ----- Java Virtual Machine 의 줄임말 이며 Java Byte Code를 OS에 맞게 해석 해주는 역할을 한다. Java compiler는 .java 파일을 .class 라는 Java byte code로 변환 시켜 준다. Byte Code 는 기계어가 아니기 때문에OS에서 바로 실행되지 않는다. 이때 JVM은 OS가 ByteCode를 이해할 수 있도록 해석 해준다. 하지만 JVM의 해석을 거치기 때문에 c언어 같은 네이티브 언어에비해 속도가 느렸지만 JIT(Just In Time)컴파일러를 구현해 이점을 극복했다. Byte Code는 JVM 위에서 OS상관없이 실행된다. 이런 점이 Java의 가장 큰 장점이라고 할수 있다. OS에 종속적이지 않고 Java 파일 하나..

Java 2020.04.23

컴파일이란?

컴퓨터는 모든 명령 CPU가 처리하고 CPU는 모든 명령을 0과 1로 이해하고 실행한다. CPU는 0과 1, 오직 2가지 경우 밖에 모르는 바보라고 불리우기도 한다. 'A'라는 알파벳을 입력할 때 우리는 'A'라고 해석하지만 컴퓨터는 00110010와 같은 이진코드로 해석하고 명령을 처리한 다는 것이다. 즉, 우리의 언어는 컴퓨터가 이해하지 못하므로 컴퓨터가 이해할 수 있는 통역사가 필요하다. 여기서 말하는 통역이 바로 컴파일이다.

Java 2020.04.23

(Java 입문) 상속, 메서드 오버라이딩

1. 변수타입 : 일반변수 Int a = 10; 10이 a로 그냥 들어가는 것. a 는 10으로 본다. 2. 변수타입 : 레퍼런스 변수 자동차 a; a에는 자동차 리모콘이 들어간다. 자동차가 들어가는게 아니다. * 레퍼런스 변수는 class 를 만들지 않으면 실행 할 수 없다. 3. class 기능 l 변수 만들기 (레퍼런스 변수) l 리모콘 만들기 l 객체 만들기 4. class 만드는 이유 * java에서는 객체를 1개라도 만들려면 설계도를 꼭 만들어야 한다. 5. 특징 l java 만의 특징. - 클래스, 객체, new, 리모콘 l 일반적인 언어로서의 특징 - 변수, 함수, 리턴, 매개변수, if, while l 이 중 상속이 가장 중요하다. 6. class 를 함부로 지우지 않고 다른 class ..

Java 2020.04.22
728x90
반응형
LIST