본문 바로가기
카테고리 없음

추상클래스와 인터페이스의 공통점과 차이점

by nono22 2023. 12. 11.

추상클래스와 인터페이스의 공통점

  • 추상클래스와 인터페이스는 모두 일종의 추상화 개념이다.
  • 둘 다 실제로 인스턴스를 생성할 수 없다.
  • 둘 다 자신의 정의된 메서드를 하위 클래스에서 구현하도록 강제할 수 있다.

추상클래스와 인터페이스의 차이점

1. 정의 방식

  • 추상클래스: abstract 키워드를 사용하여 클래스를 정의한다.
  • 인터페이스: interface 키워드를 사용하여 인터페이스를 정의한다.

2. 상속 관계

  • 추상클래스: 단일 클래스 상속만 가능하다.
  • 인터페이스: 다중 인터페이스 상속이 가능하다.

3. 구현하는 메서드

  • 추상클래스: 구현된 메서드와 추상 메서드를 가질 수 있다.
  • 인터페이스: 모든 메서드가 추상 메서드이다. 구현된 메서드를 가질 수 없다.

4. 필드 선언

  • 추상클래스: 필드를 선언하고 초기값을 할당할 수 있다.
  • 인터페이스: 필드를 선언할 수 없다. 정적 상수만 선언이 가능하다.

5. 접근 지정자

  • 추상클래스: 모든 접근 지정자를 사용할 수 있다.
  • 인터페이스: 메서드와 필드는 public으로만 접근 지정자를 사용할 수 있다.

6. 목적

  • 추상클래스: 클래스들 사이에 공통된 기능을 정의하고자 할 때 사용된다.
  • 인터페이스: 클래스들 간의 통신 프로토콜을 정의하고자 할 때 사용된다.

추상클래스와 인터페이스는 공통적인 특징과 목적이 있으나, 사용 목적과 구현 방식에 있어서 차이가 있다. 이에 따라 추상클래스와 인터페이스를 적절하게 선택하여 사용해야 한다.

댓글