이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다.
🟣 기본 환경: IDE: Eclipse, Language: Java
객체 생성과 배열
상속(Inheritance)
: 단일 상속만 허용*하며 Object class는 자동 상속 됨
: 자손 class는 조상 class의 모든 member를 상속받으나 생성자와 초기화 블럭은 상속되지 않음
* 단일 상속만 허용하므로 이 외의 상속을 받고싶은 class는 포함(composite)관계를 이용
-> 하나의 거대한 class를 작성하는 것보다는 단위별, 부분별로 여러 클래스를 작성하여 포함관계를 통해 재사용하는 것이 좋음
** 상속: 오토바이'는' '차'이다 / 포함: 차'는' 엔진을 '갖고 있다' (해석을 통해 사용방법 파악)
Overriding
: 선언부가 조상 class의 method와 일치해야 함
: method의 접근 제어자(public, protected, default, private)를 조상 class의 method보다 좁은 범위로 선어할 수 없음
: Exception은 조상 class보다 많이 선언할 수 없음
참조변수 super
: 객체 자신을 가리키는 참조변수로 instance method/constructor에서만 존재
: 조상의 멤버(super)와 자신의 멤버(this)를 구별할 때 사용
super(): 조상의 생성자 호출
: 조상의 생성자를 호출해서 조상의 멤버사용
(조상 클래스 멤버의 초기화는 자손 클래스에서 직접 수행하기보다는 조상 클래스의 생성자를 통해 초기화하는 것이 바람직)
* 자손 class constructor 첫 줄에 반드시 생성자 호출 -> 안 할 경우, compile 시 자동 생성
Cf. 생성자 this(): 같은 class의 다른 생성자 호출
소스 코드
참고 자료
📑 [Java] 자바의 정석 기초편 chapter7 정리(2)
📑 [자바-객체지향2] 참조변수 super, 생성자 super( )
'Java > Java' 카테고리의 다른 글
[자바의 정석_기초편] Chapter07. 객체지향(Object Oriented)_3 (0) | 2023.05.09 |
---|---|
[자바의 정석_기초편] Chapter07. 객체지향(Object Oriented)_2 (0) | 2023.05.07 |
[자바의 정석_기초편] Chapter06. 객체지향 언어(Object Oriented Language)_3 (0) | 2023.04.09 |
[자바의 정석_기초편] Chapter06. 객체지향 언어(Object Oriented Language)_2 (0) | 2023.04.08 |
[자바의 정석_기초편] Chapter06. 객체지향 언어(Object Oriented Language)_1 (0) | 2023.04.07 |