추상 클래스 (abstract class)

김민석·2023년 8월 7일
0

몸체없는 메서드(추상 메서드)를 포함한 클래스이다. (미완성 설계도)

  • 작성법
    [접근제한자] abstract class 클래스명 { }

ex)

public abstract class Animal { }

특징

  • 미완성 클래스이기 때문에 단독으로 객체 생성이 불가능해서 반드시 상속해야 자식 객체의 일부분으로 생성할 수 있다. (미완성인 부분은 자식 객체가 오버라이딩으로 완성하기 때문이다.)

  • 추상 메서드가 있으면 반드시 추상 클래스이다.
    단, 추상 메서드가 없고 미완성인 부분이 없어도 객체로 만들지 않기 위해
    추상 클래스를 선언하는 예외의 경우가 있다.

  • 클래스 내에 일반 변수, 메소드를 포함할 수 있다.

  • 객체 생성은 안되지만 참조형 변수 타입으로는 사용이 가능하다.

장점

  • 상속 받은 자식에게 공통된 멤버를 제공한다.

  • 일부 기능의 구현을 강제화한다. (오버라이딩)

0개의 댓글