[프로젝트 : HelloProject ]


1. 객체지향프로그래밍(Object Oriented Programming)

-프로그램을 객체들의 모임으로 구성한다. Object(객체)가 모든 것이다.

-이에 비해 c언어는 명령형 프로그래밍으로 취급한다.


2. Class는 Object(객체)를 만들어내는 틀이다.

- 클래스는 설계도의 개념으로 ---> 실제 객체들1,2,3을 만들어낸다.

- 클래스 안에는 객체들의 공통된 [ 속성(Field, propery)-값을 가지는 명사 ] 와  [ 메쏘드(Method)-어떤행위를 하게하는 동사 ]들이 선언된다. 

  객체가 만들어질 때, 클래스에서 선언된 [속성]과 [메쏘드]를 가지고 있게 된다.


3. 자바에서 실제 구현

(1) 클래스 생성

public class Avante {


private String color; //필드(속성)


public void openDoor(){ //메쏘드

System.out.println("문이 열렸다");

}


}


(2) 객체 생성 : 메인매쏘드(실행시킬 때, 필수적으로 만들어주는 것) 안쪽에서, 객체를 생성해본다.


Avante avante1 = new Avante(); 

- new라는 예약어Avante();라는 생성자를 통해 객체가 만들어진다. 여기서 avante1은 변수다.

- 객체들이 클래스에서 만들어지면, 각 객체는 새로운 것이다. 그래서 new라는 예약어를 사용한다.


Avante avante2 = new Avante();

- 변수 avante2 , 예약어 new, 생성자 Avante();를 통해 새로운 객체를 만들었다.

- 변수들이 실제 객체를 반영한다. 이를 변수가 객체를 '참조한다'라고 한다.

- 이때, Avante();라는 부분은 생성자(Constructor) 부분이다. 실제로 객체를 생성하는 부분이다. 


avante1.color = "빨간색";

- 첫번째 객체가 클래스에 선언된 필드를 이용했다. 클래스에서는 private String으로 선언한 문자형 변수다(초기화 없이 변수선언한 것과 동일). 이걸 필드라 하고 사용방법은 위와 같다.


(3) 실습 [프로젝트명 HelloProject ]

-Hello라는 클래스를 메인함수를 포함해서 만들어준다. 간단한 출력문을 기입하고  ctrl+s로 저장하고  실행시킨다.

-이제 본격적인 클래스를 만들기 위해 다시 src에서 클래스를 메인함수를 포함해서 만든다.

- 클래스가 가지는 필드와 메쏘드 중, 필드를 추가시켜본다. 

public class Avante {


String color; //필드 선언

void run() { //메쏘드 선언

System.out.println("아반테가 달려요.");


}

-이제 메인매쏘드에서 객체를 생성해본다. 객체 생성시는 new라는 예약어와, 클래스명과 동일한 생성자 Avante();를 통해 생성한다. 객체는 언제나 새롭게 만들어지는 것이다.

new Avante();


- 이제 생성된 객체가 실제로 사용이 되려면 Avante타입의 변수를 선언해서 참조해야만 사용가능하고, 계속 사용할 수 있다.

Avante a1 = new Avante();


- 새로운 객체를 만들어보자. 참조할 변수명은 달라야한다

Avante a2 = new Avante();


- 각 객체에 필드를 이용해서 색을 넣어보자.

a1.color = "빨간색";

a2.color = "파란색";


- 이제 출력하는 객체를 이용해서 클래스내부의 메쏘드를 호출해보자.

a1.run();

a2.run();


- 이제 필드를 사용한 객체를 출력해보자.

System.out.println("a1의 색은?"+a1.color);

System.out.println("a2의 색은?"+a2.color);


* (=)대입연산자는 오른쪽값을 왼쪽에 넣어주는 의미이다.

+ Recent posts