본문 바로가기

JAVA/JAVA_Lecture

Lecture 07: Object-Oriented Programming (1)

<Class>

- Java에서 대부분의 variable과 literal은 object이다. (Primitive type 존재)

 

- ObjectClass의 Instance이다.

 

- 하나의 java파일에는 여러개의 class가 있을 수 있으나, public class파일이름과 같은 class 하나만 가능하다. class 앞에 아무선언도 없으면 같은 패키지 내의 클래스만 접근가능하다.

 

- public class는 main method를 포함하고, 이것이 프로그램의 시작포인트이다.

 

- Class안에는 크게 Variable과 Method가 존재한다.

 

- Class의 Variable과 method에는 Access Modifier가 있다.

  • X: same package의 class들은 접근가능 
  • public: 모든 class 접근가능
  • protected: same package의 class들 + subclass들은 접근가능
  • private: 그 class만 접근가능

 

- Instance Variable은 Object에 종속하기 때문에 Object마다 다른 반면, Static Variable은 Class에 종속하기 때문에 모든 Object에서 같은 value를 공유한다.

 

- this는 자기 자신 object를 가리킨다. 모호하지 않으면 생략해도 되지만 적는 습관을 가지는 것이 좋다.

 

- C++에서는 Object를 delete하는 과정이 필요하지만 Java는 automatic garbage collection으로 더이상 가리키는 변수가 없으면 알아서 지워준다.

 

<Constructor>

- new 키워드로 Object가 생성될 때 생성자는 반드시 호출된다.(따로 정의 안했으면 아무 기능 없는 default 생성자가 호출된다.)

 

- Constructor(생성자)는 class이름과 같은 이름을 가지며 아무것도 return하지 않는다.

 

- 생성자에 인자를 줄 수 있고, 인자의 개수나 타입을 달리하여 여러 생성자를 만드는 오버로딩이 가능하다.

 

- 하나의 constructor에서 다른 constructor를 호출하는 경우도 가능하다.

 

- constructor는 다른 class에서 호출되므로 private으로 하면 안된다.

 

<EX 소스코드>

github.com/HoYoungChun/Java_Language_Lecture/tree/master/EX07

 

HoYoungChun/Java_Language_Lecture

Contribute to HoYoungChun/Java_Language_Lecture development by creating an account on GitHub.

github.com