인터페이스는 규격입니다.
즉, 객체 모델링 대상이 되는 객체가 반드시 가져야 할 규칙을 정의하는 것이 인터페이스입니다.
인터페이스의 멤버는 공식적으로 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
인터페이스는 부모 클래스와 크게 다를 게 없습니다.
인터페이스를 "구현"하는 클래스는 곧 부모 클래스의 자식 클래스와 같은 역할을 하고 있으며
이는 곧, 인터페이스를 "상속"받는다고 할 수 있습니다.
'Java' 카테고리의 다른 글
인터페이스 다중 상속 (0) | 2023.07.26 |
---|---|
패턴 매칭 연산자 (0) | 2023.07.26 |
Getter Setter (0) | 2023.07.21 |
생성자 (0) | 2023.07.19 |
args (0) | 2023.07.18 |