Java
인터페이스
등푸른고등어
2023. 7. 25. 12:03
인터페이스는 규격입니다.
즉, 객체 모델링 대상이 되는 객체가 반드시 가져야 할 규칙을 정의하는 것이 인터페이스입니다.
인터페이스의 멤버는 공식적으로 static final 상수, abstract method(추상 메서드)가 있습니다.
이 외에 drfault method나 static method도 있습니다.
다음은 인터페이스의 예시 코드입니다.
public interface Animal {
// 1st. Member : static final 상수
// 2nd. Member : abstract method
public abstract String sound();
} // end class
//동물 종류에 속하는 실제 3가지 동물을 선언 : 사람, 강아지, 고양이
class Person implements Animal{
;;
@Override
public String sound() {
return "흑흑";
}
} // end class
class Dog implements Animal{
@Override
public String sound() {
return "멍멍";
}
} // end class
class Cat implements Animal{
@Override
public String sound() {
return "야옹";
}
} // end class
인터페이스의 메서드를 구현하는 클래스들은 인터페이스의 규격을 implements로 내려받습니다.
다음은 실행 클래스입니다.
public class App {
// 인터페이스 기반의 다형성 구현 예제
public static void main(String[] args) {
Animal animal = new Dog();
String sound = animal.sound();
System.out.println(sound); // 멍멍
} // main
} // end class
인터페이스는 부모 클래스와 크게 다를 게 없습니다.
인터페이스를 "구현"하는 클래스는 곧 부모 클래스의 자식 클래스와 같은 역할을 하고 있으며
이는 곧, 인터페이스를 "상속"받는다고 할 수 있습니다.