Java

[Java] 인터페이스

jny0 2023. 2. 24. 18:24

인터페이스

 

인터페이스를 사용하여 자바의 다형성을 극대화할 수 있다.

  • 다중 상속 가능
  • 추상 메서드와 상수만 사용 가능
  • 생성자 사용 불가 : 인터페이스 객체가 아니므로 생성자 사용 불가
  • 메서드 오버라이딩 필수 : 자식클래스는 부모 인터페이스의 추상메서드를 모두 오버라이딩 해야함
  • 인터페이스에는 private 사용 불가능
public class Main {
    public static void main(String[] args) {
        사람 a사람 = new 홍길동();
        변호사 a변호사 = (변호사)a사람;
        치과의사 a치과의사 = (치과의사)a사람;
        성화봉송자 a성화봉송자 = (성화봉송자)a사람;
    }
}

abstract class 사람 {
}

class 홍길동 extends 사람 implements 변호사, 치과의사, 성화봉송자 {
}

interface 변호사 {
}

interface 치과의사 {
}

interface 성화봉송자 {
}

 

구상클래스, 추상클래스, 인터페이스 비교