인터페이스(Interface)
- 객체의 동작을 표준화 하는 기법을 인터페이스라고 한다.
- 추상 메소드와 상수만 가질 수 있음 (default).
- "어떤 동작을 해야 하는지"를 정의하고 구현 클래스에서 세부 로직을 구현한다.
인터페이스 사용 이유
✅ 표준화
- 개발에 필요한 기본 틀 제공
- 개발자들 간의 일관성 있는 개발 가능
✅ 다형성 구현
- 하나의 인터페이스로 다양한 구현이 가능
- 객체의 교체가 쉬움
✅ 개발 독립성
- 인터페이스만 정의되면 개발 시작 가능
- 다른 팀/개발자와 동시 개발 가능
✅ 유연성
- 기존 코드 변경 없이 새로운 기능 추가 가능
- 독립적인 기능 구현 가능
인터페이스 구현
- 구현 클래스에서
implements로 구현하고 싶은 인터페이스를 선언
- 인터페이스에 선언된 추상 메소드는 구현 클래스에서 필수적으로 구현 필요
다중 인터페이스 구현
- 여러 인터페이스를 동시에 구현 가능
- 모든 인터페이스의 메소드를 구현해야 함
- 인터페이스 간 메소드 충돌이 있어도, 실제 구현 클래스에서 해결
[문제] 하나의 클래스가 여러 인터페이스를 구현할 수 있는 이유는 무엇인가요?
✨ 답:
- 자바 인터페이스는 다중 상속이 가능하도록 설계되어 있기 때문입니다.
- 인터페이스는 구현이 없는 추상 메소드만을 가지므로, 다중 구현 시에도 충돌 위험이 낮습니다.
- 따라서 하나의 클래스는 여러 인터페이스에서 정의한 메소드를 모두 구현함으로써, 다양한 역할을 동시에 수행할 수 있습니다.
- 이는 유연한 설계, 기능 분리, 다형성을 가능하게 하여 유지보수성과 확장성을 높이는 장점을