21.08.02

Inabang·2021년 8월 2일

PlayData

목록 보기
9/34

~22.1.28

Day9

  1. 다형성에 대한 개념을 이해하고 동적 바인딩을 구축할 수 있다.
  2. 추상클래스 개념과 설계 및 상속을 이용한 메소드 재정의를 구현 할 수 있다.
  3. 인터페이스를 이용한 재정의 메소드 연동을 할 수 있다.

동적 바인딩 및 재정의(OverRide)

선조객체는 후손객체를 생성할 수 있다.
하지만 후손객체는 선조객체를 생성할 수 없다.
선조객체가 후손객체를 생성하고 후손의 메소드를 제어하려면 다운캐스팅을통해서 제어가 가능하다.

추상클래스

abstract Class - 추상클래스
추상클래스는 new 연산자로 새로 바인딩을 할 수가 없다.
abstract Method -> 추상메소드

  1. 추상메소드는 body{}부분은 없고 메소드 선언만 있는 원형이다.
    추상 클래스를 상속받는 클래스는 추상클래스가 선언한 추상메소드를 반드시 재정의 해야한다.
  2. 만약에 재정의 하지 않는다면 상속받은 클래스는 추상클래스가 된다.
    == 객체 생성이 불가능하다.
    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 (완료)

0개의 댓글