인터페이스 (Interface)
클래스가 반드시 구현해야 하는 메서드의 규칙을 정의한 추상적 타입
인터페이스를 직접 객체로 만들 수는 없고, 반드시 클래스가 implements로 구현해야 한다.
"어떻게 동작해야 한다"가 아니라 "어떤 동작을 제공해야 한다"라는 규칙만 정해준다.
다형성을 통해 유연한 설계를 가능하게 한다.
인터페이스의 특징
1. 다형성 지원
여러 클래스가 같은 인터페이스를 구현하면 공통된 타입으로 다룰 수 있다.
List<String> list = new ArrayList<>();
List<String> list2 = new LinkedList<>();
ArrayList와 LinkedList는 둘 다 List 인터페이스를 구현했기 때문에 같은 List 타입으로 다룰 수 있다.
2. 다중 구현 가능
자바 클래스는 단일 상속만 가능하지만, 인터페이스는 여러 개를 implements할 수 있다.
따라서 여러 규약을 동시에 따를 수 있다.
public class SmartPhone implements Camera, Game { }
3. 규칙만 정의하기 때문에 새로운 구현체 추가 시 기존 코드에 영향을 최소화한다.
예시)
인터페이스 정의

클래스에서 인터페이스 구현

메인

실행 결과

'Java' 카테고리의 다른 글
| 객체지향 프로그래밍 (OOP) (0) | 2025.12.17 |
|---|---|
| [Java] URLConnection / HttpURLConnection (0) | 2025.09.10 |
| [Java] JVM (Java Virtual Machine) (0) | 2025.09.09 |
| Java (2) | 2025.08.28 |
| [Java] Lombok (0) | 2024.10.28 |