본문 바로가기
공부/자바 (Java)

[Java] 인스턴스, 힙 메모리, 생성자, 정보 은닉

by Lagooni 2021. 12. 4.

인스턴스: 클래스로부터 생성된 객체

힙(Heap) 메모리에 멤버 변수의 크기에 따라 메모리가 생성됨.

각각의 인스턴스는 별개의 메모리를 가진다.

자바에서는 garbege Collector가 메모리를 알아서 수거한다.

생성자(Constructor): 객체를 생성할 때 new키워드와 함께 호출됨

인스턴스를 초기화 하는 코드가 구현 됨

반환 값이 없음, 상속되지 않음, 생성자는 클래스 이름과 동일

기본 생성자(default constructor): 하나의 클래스에는 반드시 하나 이상의 생성자가 존재해야함.

만약 구현하지 않는다면 컴파일러가 생성자 코드를 넣어줌

기본 생성자는 매개변수가 없고,구현부가 없음

기본 생성자
생성자 변경

오버로딩: 같은 이름의 생성자, 메서드의 매개변수가 다른 경우


정보 은닉 (impormation hiding)

외부에서 클래스 내부의 정보에 접근하지 못하도록 함

  • private 를 사용하면 클래스 외부에서 접근할 수 없음

접근제어자가 default(아무것도 선언되지 않음)인 경우에는 같은 패키지 내의 멤버변수만 사용가능하다.

멤버변수를 private로 설정하고 getter & setter를 사용하여 예외 처리를 해주는 것이 좋음

댓글