인터페이스
- 인터페이스에 메소드 형식을 미리 선언하고, 구현 클래스에서 해당 메소드 형식을 지켜 오버라이드 하도록 강제할 수 있다.
- 구현 클래스는 클래스명 뒤에
implements 인터페이스명
을 붙여주면 된다.
형식
- 인터페이스 이름은 클래스와 마찬가지로 첫 글자를 대문자로 만들고, "~을 할 수 있는" 것들의 규격이라는 의에서 형용사 이름을 붙이기도 한다.
- 클래스는 하나의 클래스만 상속 받을 수 있지만, 인터페이스는 여러개를 적용할 수 있다.
- 이 경우 적용한 인터페이스들의 메소드를 모두 구현해야 한다.
- 인터페이스에서 변수 선언은 반드시 초기화를 해야한다.
- 인터페이스에서 메소드는 선언만 하면 된다.
다형성
- 자식 클래스나 구현 클래스를 변수로 선언할 때, 해당 클래스의 데이터 타입으로 선언하지 않고 부모 클래스나 인터페이스를 데이터 타입으로 선언할 수 있다.
- 이를 다형성이라고 하며, 해당 변수는 부모 클래스나 인터페이스가 가지고 있는 기능만을 오버라이딩 된 상태로 사용할 수 있다.