JAVA - 상속 2

Jean·2025년 6월 23일

풀스택 교육

목록 보기
2/28

🔌 인터페이스 (Interface)

📌 개념 요약

  • 클래스처럼 보이지만 객체를 생성할 수 없다
  • 다중 구현 가능 → 단일 상속의 제약을 우회할 수 있다
  • 상속이 아니라 "구현"의 개념 → "이 인터페이스를 구현하겠다"는 약속
  • 인터페이스 안의 모든 구성 요소는 미완성(추상) 상태이다
  • 클래스는 인터페이스를 구현(implements) 할 수 있다
  • 인터페이스 간에는 상속(extends) 가능

⚙️ 인터페이스 구성 요소

구성 요소설명
상수 (public static final)모든 변수는 자동으로 public static final 로 간주됨
추상 메서드 (public abstract)메서드는 구현부 없이 선언만 가능함

인터페이스 내 모든 메서드와 필드는 명시하지 않아도 public abstract, public static final이 기본


🔁 다형성과 인터페이스

  • 인터페이스 타입의 변수로 이를 구현한 객체를 참조 가능
  • 부모(인터페이스) 타입의 변수 → 자식 클래스(구현체) 객체 대입 가능
  • 다형성 지원
interface Animal {
    void sound();
}

class Dog implements Animal {
    public void sound() {
        System.out.println("멍멍");
    }
}

Animal a = new Dog(); // 다형성 적용
a.sound(); // 멍멍 출력

✅ 인터페이스의 장점

  • 표준화된 프로그래밍 가능
  • 유연한 구조 (다중 구현, 느슨한 결합)
  • 콜백 구조나 이벤트 처리에 효과적
  • 테스트/유지보수 용이

💡 기타 특징

  • 클래스는 여러 인터페이스를 동시에 구현할 수 있다
  • Runnable, Comparable, Serializableable 접미사 많이 사용함
  • 인터페이스끼리 extends 가능 → 인터페이스 확장
interface A {}
interface B extends A {} // 인터페이스 간 상속

profile
햇내기 개발자 지망생

0개의 댓글