코딩교육 티씨피스쿨

추상클래스 (Abstract Class)

특정 기능(메소드)만을 전용으로 사용하기 위한 방법 (모듈화)

  1. 추상메소드가 포함된 클래스 (미완성, 공통의 메소드)

    추상메소드 : 자식클래스에서 오버라이드해야만 사용할 수 있는 메소드

    선언부만 존재하고 (구현부 X)

    상속받은 자식클래스에서 ‘반드시’ 추상메소드의 구현부를 오버라이드해야함

  2. 상속을 통해 다른 클래스에게 도움을 주기 위한 클래스 (강제성)

  3. 멤버로는 일반클래스멤버와 추상메소드를 갖는다

  4. 객체 생성(new) 불가능 (독립적으로 존재 불가)

    ⇒ ★상속을 통해 반드시 추상메소드를 오버라이드해서 구현함

  5. 구현 객체(추상클래스를 상속받는 일반클래스)를 통해 구현

  6. 추상클래스 상속시 ⇒ 클래스의 유형을 선택

    1) 자식클래스 타입도 추상클래스로 설정 ⇒ 추상메소드도 새로 만들어야함 (new 생성불가)

    2) 자식클래스에서 추상메소드를 오버라이드 (이 방법을 많이 사용)

  7. 단일 상속만 허용

추상클래스의 다형성 적용

*구현객체로 만드려는 객체가 abstract타입이 아니라면 다형성 적용이 가능!

(부모타입으로 자식객체 형변환)

*단, 구현객체간의 직접적인 상속관계가 없으면 다형성 성립 불가능!