홈 › 초급 › 04 / 8

클래스, 객체, 생성자, 오버로딩

섹션 7진행 0 / 8

7. 정리

  • 클래스는 설계도, 객체(인스턴스)는 new로 힙에 만든 실체. 변수에는 주소만 담기므로 =로 대입하면 같은 객체를 두 이름이 가리킨다.
  • this는 메서드를 호출한 객체의 주소. 필드와 매개변수 이름이 겹칠 때 this.필드로 구분하고, this(...)로 다른 생성자를 첫 줄에서 호출한다.
  • 생성자는 클래스 이름과 같고 반환 타입이 없으며, 하나라도 직접 만들면 기본 생성자는 사라진다. 객체가 태어나는 순간 유효한 상태를 보장하는 것이 목적.
  • 오버로딩은 매개변수의 개수·타입·순서로 구분하며 반환 타입은 기준이 아니다. static은 클래스에 하나뿐인 멤버로, 객체 없이 쓰지만 this와 인스턴스 멤버에 접근할 수 없다.
  • 자바는 항상 값 전달. 원시 타입은 값이, 참조 타입은 주소가 복사된다. 그래서 필드 변경은 반영되고 재대입은 반영되지 않는다.

다음 레슨 05. 캡슐화에서는 필드를 함부로 건드리지 못하게 막고(private), 검증된 경로(getter/setter)로만 접근하게 하는 설계 원칙과, 아예 바꿀 수 없는 불변 객체·record를 배웁니다.