인터페이스는 규격입니다.

즉, 객체 모델링 대상이 되는 객체가 반드시 가져야 할 규칙을 정의하는 것이 인터페이스입니다.

 

 


 

인터페이스의 멤버는 공식적으로 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

+ Recent posts