인터페이스는 추상 메소드의 집합이다. 추상 클래스도 추상 메소드의 집합이라고 볼 수 있는데,
추상 클래스와 인터페이스의 차이는 추상 클래스는 추상 메소드를 가진 클래스이고, 인터페이스는 추상 메소드의 집합이다 (클래스가 아님)
목차
- 1. 인터페이스(interface)란?
- 1-1. 사용하는 이유
- 1-2. 형태
- 1-3. 특징
- 2. 예제 (2개)
1. 인터페이스(interface) 란?
1) 사용하는 이유
- 다양한 기능을 가진 추상 메소드의 집합인 인터페이스를 하나의 클래스에서 여러 개 사용 가능 (다중 상속 가능)
- 개발 시간 단축
- 변경에 유리한 유연한 설계 가능
- 표준화 가능
- 관계 없는 클래스들의 관계를 맺어줄 수 있다
2) 형태
interface 인터페이스 이름 {
public static final 타임 상수 이름 = 값;
public abstract 메소드 이름 (매개변수) ;
}
3) 특징
- interface 키워드를 사용, 모든 멤버가 public
- 구현부가 없는 메소드(= 추상 메소드)의 집합
- 인터페이스는 상수와 추상메소드로 구성 (자바 8부터 static 메소드, default 메소드도 사용 가능)
- 인터페이스 내의 변수는 public static final 상수화 변수만 사용 가능하며, public static final는 생략가능
- 인터페이스 내의 메소드는 public abstract 메소드로 사용 가능하며, public abstract는 생략가능
- 추상화 클래스와 마찬가지로 인스턴스 생성 불가 (객체화 불가)
- 인터페이스를 여러 개 상속 가능 (다중 상속 가능) 하며, 추상 메소드를 모두 오버라이드 해야함
2. 예제 (2개)
예제 1)
예제 2)
'IT 언어 > Java' 카테고리의 다른 글
[Java] 예외처리 2 (throw 와 throws) (1) | 2024.01.16 |
---|---|
[Java] 예외처리 1 (try ~catch ~finally) (0) | 2024.01.16 |
[Java] 추상 메소드와 추상 클래스 (abstract) (0) | 2024.01.14 |
[Java] 다형성 (형변환, 업캐스팅과 다운캐스팅) (2) | 2024.01.14 |
[Java] 오버로딩과 오버라이딩 (0) | 2024.01.13 |