Java

Java / 추상 클래스와 인터페이스

Dear-J 2025. 2. 23. 20:59

추상 클래스

부모 클래스는 제공하지만 실제 생성되면 안되는 클래스

 

클래스를 선언할 때 앞에 abstract  키워드 

>> 직접 인스턴스를 생성하지 못하는 제약

 

추상 메서드

부모 클래스를 상속 받는 자식 클래스가 반드시 오버라이딩 해야 하는 메서드를 부모 클래스에 정의

메서드 바디 없음

 

추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언

추상 메서드는 상속 받는 자식 클래스가 반드시 오버라이딩

 

순수 추상 클래스

모든 메서드가 추상 메서드인 추상 클래스

 

상속하는 클래스는 모든 메서드를 구현해야 한다.

 

인터페이스

순수 추상 클래스를 더 편리하게 사용할 수 있는 인터페이스라는 기능 제공

 

class 대신 interface 키워드 사용

인터페이스의 메서드는 모두 public, abstract

메서드에 public abstract 생략 가능

다중 구현(상속) 지원

인터페이스의 멤버 변수는 public, static, final 모두 포함되었다고 간주 (상수)

인터페이스를 상속 받을 때는 extends 대신 implements 라는 구현 키워드 사용

 

인터페이스를 사용해야 하는 이유

제약 : 인터페이스를 구현하는 곳에서 인터페이스의 메서드를 반드시 구현하라는 제약을 주는 것

다중 구현 : 자바에서 클래스 상속은 부모를 하나만 지정 가능, 인터페이스는 부모를 여려명 두는 다중 구현 가능

 

 

'Java' 카테고리의 다른 글

Java / Object 클래스  (0) 2025.02.24
Java / 다형성과 설계  (0) 2025.02.23
Java / 다형성  (0) 2025.02.23
Java / 상속  (0) 2025.02.23
Java / final  (0) 2025.02.22