본문 바로가기
JAVA

[JAVA] 추상 클래스와 인터페이스

by 개발자신입 2023. 12. 31.
반응형

추상 클래스 (abstract class)

  • 본체가 없는 메소드로, 하위 클래스에서 구현되어야 함.
  • 추상 클래스는 하나 이상의 추상 메소드(abstract method)를 갖는 클래스
  • 공통점들을 모아 분리해내어 간결하고 이해하기 쉽게 만드는 것
  •     ex) 그릇, 국자, 주걱 -> 추상화 '주방용품'
  •           칼, 활, 도끼 -> 추상화 '무기' 
  • 상속 관계에서 부모 클래스의 역할을 갖기 위한 클래스이며, 추상 메소드와 일반 메소드를 가질 수 있음
  • 추상 메소드는 바디가 없고 세미콜론으로 끝남
  • 추상 클래스는 new 동적 할당자를 통해 인스턴스 객체를 만들 수 없음. (new 생성자 불가능)

 

 

인터페이스(Interface)

  • 추상 메소드의 집합체
  • 인터페이스는 일반적으로 추상 메소드만 가지며, interface 키워드를 이용해 정의한다.
  • 특정 클래스가 인터페이스를 구현하기 위해서는 implements 키워드를 통해 구현한다.
  • 다중 상속 가능 : 상속과 달리 인터페이스는 하나의 클래스가 둘 이상의 인터페이스를 동시에 구현
  • 인터페이스를 통해 설계와 구현을 완전히 분리할 수 있다.
  • 인터페이스에는 필드, 추상 메소드, static 메소드, default 메소드를 정의할 수 있다. 
  • 인터페이스에 정의하는 모든 필드는 public static final (사용자 정의 상수)이 자동으로 적용됨.

 

반응형

댓글