인터페이스(Interface)
•
일반적 의미
◦
서로 다른 장치들이 연결되어 상호 데이터를 주고받을수 있는 규격
•
자바에서의 의미
◦
클래스와 클래스 간의 상호 작용의 규격을 나타낸 것
◦
서비스 요청에 따른 중계자 역할을 기술함
▪
호출할 수 있는 서비스 목록만 제공
▪
기본적으로 일반 멤버 변수/메서드를 가지지 못함
◦
자바에서는 다중 상속이 지원되지 않기에 추가로 제공
▪
인터페이스는 다중 상속이 가능
인터페이스의 정의
인터페이스의 사용
•
참조변수 선언은 가능하나 객체 생성은 불가
•
인터페이스에 정의된 내용을 넘겨받기 위해 ‘구현(implements)’하여 사용
•
클래스 정의시 implements로 구현을 명시
◦
추상 메서드들은 구현 받은 클래스에서 전부 오버라이딩 필요
[abstract] class <클래스명> implements <인터페이스1> [, 인터페이스2...]{
//멤버 정의
//이 클래스가 추상 클래ㅡ가 아니라면 추상 메서드 재정의 필요
Java
복사
인터페이스의 목적
•
인터페이스는 클래스들에게 스펙을 제시해서
◦
각 클래스들이 그 기능을 다르게 구현할 수 있도록 하는 클래스 규격 선언
◦
다형성을 실현하는 도구