인터페이스와 추상클래스

최장범·2023년 10월 24일

공부

목록 보기
2/24
post-thumbnail

추상클래스란? (Abstract Class)

  • 앞서 정리해둔 포스팅
    - 여기서 보세요!
  • 하나 이상의 추상 메서드 (Abstract Method)를 가지는 클래스
  • 추상 메서드를 선언하여 상속을 통해 하위 클래스에서 반드시 구현하도록 강제하는 클래스
    - 상속을 위한 크래스
    • new 키워드 사용할 수 없음
  • 선언부만 작성, 구현부가 없음, 상속받는 자식 클래스에서 구현을 함 (오버라이딩).
  • static, final이 아닌 필드를 가질수 있고, public, protected, private 접근 제어자를 모두 사용가능.

인터페이스 (Interface)

  • 추상클래스 보다 추상화의 정도가 높음
  • 구현부가 있는 일반메서드를 가질 수 없다.
  • 모든 메서드는 'public abstract'로 선언, 모든 멤버 변수는'public static final'로 선언.
  • 추상클래스와 다르게 다중 상속이 가능함.
  • 인터페이스는 인터페이스로부터만 상속 받을 수 있음
  • 인터페이스는 '~을 할 수 있는'

공통점

  • 가지고 있는 추상 메서드를 상속받는 자식들이 구현하도록 강제함
  • 인스턴스화 불가능

차이점

  • 인터페이스 모든 변수 'public static final'
  • 추상 클래스 'static', 'final'이 아닌 필드 가질 수 있고, public, protected, private 모두 가질 수 있음.
  • 인터페이스는 다중 상속 가능.

0개의 댓글