~22.1.28
Day9
선조객체는 후손객체를 생성할 수 있다.
하지만 후손객체는 선조객체를 생성할 수 없다.
선조객체가 후손객체를 생성하고 후손의 메소드를 제어하려면 다운캐스팅을통해서 제어가 가능하다.
abstract Class - 추상클래스
추상클래스는 new 연산자로 새로 바인딩을 할 수가 없다.
abstract Method -> 추상메소드
- 추상메소드는 body{}부분은 없고 메소드 선언만 있는 원형이다.
추상 클래스를 상속받는 클래스는 추상클래스가 선언한 추상메소드를 반드시 재정의 해야한다.- 만약에 재정의 하지 않는다면 상속받은 클래스는 추상클래스가 된다.
== 객체 생성이 불가능하다.
public abstract userName{} => 추상클래스
public abstract void Test(); => {} 없이 선언되는 메소드는 추상 메소드
추상 클래스는 객체의 Point(주소)를 받을 수 있다.
인터페이스를 연동하는 클래스 : 완벽한 추상화가
맴버 : 상수, 추상 메소드, static 메소드, default 메소드 (non-static은 불가능하다)
클래스는 여러개의 인터페이스를 상속받아 구현한다. (다중상속)class extends class O (가능)
class가 class를 상속받을땐 단일상속을 원칙으로 한다.
class implements Interface0, Interface1, .... O (가능)
Interface implements Interface0, Interface1, .... O (가능)인터페이스는 다중상속을 원칙으로 구현한다.
Interface exntends class X (불가능)
인터페이스는 class를 상속받을 수 없다.
Today WorkShop
WorkShop7
Exam 1,2,6 (완료)