[java] 자바 추상 클래스와 인터페이스의 접근 제어자의 차이

자바에서 추상 클래스와 인터페이스는 객체 지향 프로그래밍의 핵심 개념입니다. 이 두 가지 개념은 다른 방식으로 정의되고 사용됩니다. 이번 포스트에서는 자바 추상 클래스와 인터페이스의 접근 제어자에 대해 알아보겠습니다.

추상 클래스의 접근 제어자

추상 클래스는 하나 이상의 추상 메서드를 포함하는 클래스입니다. 추상 클래스의 접근 제어자는 일반 클래스와 마찬가지로 public, protected, default, private를 사용할 수 있습니다. 접근 제어자는 추상 클래스의 멤버(필드, 메서드, 내부 클래스 등)에 적용됩니다.

추상 클래스의 추상 메서드는 자식 클래스에서 반드시 구현되어야 합니다. 따라서 추상 메서드의 접근 제어자는 public 또는 protected로 설정하는 것이 일반적입니다.

인터페이스의 접근 제어자

인터페이스는 클래스와 달리 다중 상속을 지원하며, 클래스가 구현해야 할 메서드를 정의하는 역할을 합니다. 인터페이스의 접근 제어자는 항상 public으로 설정됩니다. 즉, 모든 클래스에서 인터페이스에 접근할 수 있습니다.

인터페이스의 메서드는 기본적으로 public으로 선언되며, 구현 클래스에서 상속받은 메서드는 public 또는 protected로 오버라이딩될 수 있습니다.

정리

이상으로 자바 추상 클래스와 인터페이스의 접근 제어자에 대해 알아보았습니다. 이러한 제어자는 클래스와 인터페이스의 활용 방식과 목적에 따라 선택되어야 합니다.

더 자세한 내용은 다음 참고 자료를 참고하시기 바랍니다: