추상 클래스, 인터페이스

stoph·2023년 3월 14일
0

추상 클래스

추상 메소드를 한 개 이상 포함하고 있는 클래스

  • 추상 메소드 : abstract 키워드와 함께 선언되고 코드는 작성되지 않은 메소드
  • 추상 메소드가 포함되어 있지 않아도 abstract로 선언한 클래스는 추상 클래스가 된다.
  • 추상 클래스는 인스턴스를 생성할 수 없다.
  • 서브 클래스에서 상속 받아서 모든 추상 메소드를 구현해야 인스턴스를 생성할 수 있다.

인터페이스

추상 메소드의 집합

  • 구현된 것이 전혀 없는 설계도와 같은 역할을 한다.
  • 인터페이스는 인스턴스를 생성할 수 없다.
  • public 멤버만 가질 수 있고 상수 및 추상 메소드만 정의할 수 있다.
  • 상수는 public static final 로 속성이 정해져 있고 추상 메소드는 public abstract 속성이 정해져 있으며 두 속성 모두 생략이 가능하다.

장점

  • 코드의 변경을 최소화할 수 있다. (인터페이스에 의존하도록 설계하면)
  • 설계와 구현을 분리할 수 있다.
  • 서로 연관없는 객체끼리 관계를 맺을 수 있다.

0개의 댓글