Java/study

Java 3주차 - 객체 (2)

yunhyegyeong 2021. 7. 16. 01:55
728x90

객체와 메모리

객체는 동적으로 메모리에 생성. 레퍼런스가 사라지면 GC(Garbage Collector)에 의해 제거됨.

ChildClass child = new ChildClass();

생성한 객체의 주소를 가지는 변수: class가 같다고 해서 같은 래퍼런스를 가지지 않음.

레퍼런스에 null이 저장되면 연결이 끊김: 연결이 끊기는 거지 레퍼런스가 사라지는 건 아님.

 

생성자와 소멸자 그리고 this 키워드

디폴트 생성자: 객체가 생성될 때 가장 먼저 호출되는 생성자. 개발자가 명시하지 않아도 컴파일 시 자동 생성.

소멸자: 객체가 GC에 의해 메모리에서 제거될 때 finalize() 메서드가 호출된다.

this: 자신을 가리킴. 

 

패키지와 static

패키지: 클래스를 폴더 형식으로 관리하는 것

최상단에 클래스가 속해 있는 패키지 기재

다른 패키지에 있는 클래스를 사용하려면 import 사용

ex) import com.java.dailyJournal.DailyJournal;

클래스의 속성과 메서드에 static 키워드를 사용하면 클래스의 속성과 메서드를 공유할 수 있다.

 

데이터 은닉

(주로) 멤버 변수를 private으로 설정해 외부로부터 데이터 변질되는 것 방지함.

setter, getter: 멤버 변수를 외부에서 변경할 수 있도록 하는 메서드

source -> generate getter setter