상속을 구현하는 이유
1. 부족한 부분을 채우기 위해
2. 공통된 기능을 합쳐서 사용하기 위해
상속 관계 종류
1. is a 관계
2. has a 관계
상속관계에서 부모를 부르는 방법은 없다. 하지만 간접적인 방법으로 부모를 부르는 방법 super()를 이용하면 가능하다.
객체를 생성시키는 4가지 방법 (A가 부모, B가 자식일때)
1. A t1 = new A();
2. B t2 = new B();
3. A t3 = new B(); // up casting : t3는 A문법을 따르되 A, B 메모리를 사용한다.4. B t4 = new A(); // down casting: t4는 B문법을 따르되 A 메모리를 사용한다.
자바에서는 4번 문법을 허용하지 않음.
up casting
abstract
※ abstract 클래스는 코드가 미완성이기 때문에 객체를 생성할 수 없으며, 미완성 코드를 상속하는 자식클래스는 부모가 완성하지 않은 메소드를 완성해놔야한다.
※ 오버라이딩 : 상속관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니처를 갖는 메소드로 다시 정의하는 것.
interface
interface 확장
1. 익명 클래스
2. 익명 객체
3. 함수 인수로 코드를 전달
다중 상속
Java에서는 다중 상속은 성립하지 않기에 하나의 클래스는 하나의 클래스만 상속받을 수 있지만, 인터페이스의 경우 여러개의 인터페이스를 상속받을 수 있다.
'웹 full stack 교육 > 이론' 카테고리의 다른 글
[Java] LinkedList (0) | 2021.09.01 |
---|---|
[Java] 자바 기타 (0) | 2021.08.30 |
[Java] 클래스[기본] (0) | 2021.08.27 |
[Java] 자바 문법[조건문, 반복문] (0) | 2021.08.26 |
[Java] 자바 문법[기초] (0) | 2021.08.25 |