국비지원 공부 정리/Java

추상 클래스와 인터페이스

worldstroy 2025. 4. 8. 11:07

추상 클래스

하나 이상의 추상 메소드(선언만 있고 구현되지 않은 메소드)를 포함하는 클래스
상속 관계에서 부모 클래스 역할을 하며 추상 메소드와 일반 메소드 모두를 가져하며, 추상 메소드는 부모 클래스에서 모두 구현되어야 함
객체의 공통된 특징을 추상화해서 정의하고 이를 상속 받는 서버클래스에서 구현
실제 클래스는 추상 클래스를 상속해서 공통적인 필드나 메소드를 물러받음ㅂ

 

추상 클래스의 용도

설계와 구현을 분리하기 위해서 이며, 부모 클래스에선 개념을, 자식 클래스에선 구체적 행위를 구현함
단, 추상 클래스는 미완성된 클래스이므로 new 연산자를 통해 직접적인 생성은 불가능함

 


인터페이스

추상 클래스는 추상 메소드가 없어도 상관 없지만, 인터페이스는 추상 메소드만 존재함
상속과 달리 하나의 클래스가 두 개 이상의 인터페이스를 동시에 상속하는 것이 가능함
다중 상속과 유사한 기능을 제공하고, 객체의 동작을 정의하는 계약 같은 역할
모든 필드는 public static final로 자동 설정되므로 생성하지 않아도 됨