추상클래스 vs 인터페이스

이상수·2022년 11월 30일
0

Java, Spring

목록 보기
2/5

1. 추상클래스

  • 하나 이상의 추상 메소드를 포함한 클래스로, 자식 클래스에서 구체화하여 사용을 강요
  • 단 하나 이상의 추상 메서드만 포함하면 되며 생성자, 일반 메서드도 포함 가능합니다.
  • 추상클래스는 IS - A "~이다".
    ex) Creature()

2. 인터페이스

  • 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념
  • 인터페이스는 HAS - A "~을 할 수 있는".
  • 추가적인 기능 같은 개념
    ex) Tackable()
  1. 상수 : 인터페이스에서 값을 정해줄테니 함부로 바꾸지 말고 제공해주는 값만 참조해라 (절대적)

  2. 추상메소드 : 가이드만 줄테니 추상메소드를 오버라이팅해서 재구현해라. (강제적)

  3. 디폴트메소드 : 인터페이스에서 기본적으로 제공해주지만, 맘에 안들면 각자 구현해서 써라. (선택적)

  4. 정적메소드 : 인터페이스에서 제공해주는 것으로 무조건 사용 (절대적)

profile
Will be great Backend-developer

0개의 댓글