인터페이스(interface)

essential·2023년 8월 27일

객체 지향

목록 보기
34/40

인터페이스(interface)

  • 추상 메서드의 집합
    • 추상 클래스와 다른 점은 추상 클래스는 일반 클래스 (일부만 추상 메서드) 인터페이스는 추상 메서드만 가짐(추상 메서드의 집합)
  • 구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public)
  • 인터페이스의 조상은 인터페이스만 가능 (Object 가 최고 조상 아님)
  • 다중 상속이 가능 (추상 메서드는 충돌해도 문제 없음)
  • 인터페이스에 정의된 추상 메서드를 완성하는 것
interface 인터페이스이름 {
		public static final 타입 상수 이름 =; // 상수 
		public abstract 메서드 이름 (매개 변수 목록); // 추상 메서드
}
class 이름 implements 인터페이스 이름 {
		// 인터페이스에 정의된 추상 메서드를 모두 구현해야 한다.
}
  • 일부만 구현하는 경우, 클래스 앞에 abstact 를 붙여야 함
    • 인터페이스에 있는 메서드가 2개인데 1개만 구현 하는 거

Q. 인터페이스란?
A . 추상 메서드의 집합 (상수, static 메서드, 디폴트 메서드가 추가 됐지만 여튼)

Q. 인터페이스의 구현이란?
A. 인터페이스의 추상 메서드 몸통 {} 만들기 (미완성 설계도 완성하기)

Q. 추상 클래스와 인터페이스의 공통점은?
A. 추상 메서드를 가지고 있다. (미완성 설계도)

Q. 추상 클래스와 인터페이스의 차이점은?
A. 인터페이스는 iv 를 가질 수 없다.

profile
essential

0개의 댓글