Java 접근제어자의 종류와 특징

유경우·2024년 2월 13일
0

CS

목록 보기
6/21
post-custom-banner

들어가기 전

이전 포스트에서 클래스와 추상 객체 등을 살펴보았는데요.
이런 클래스나 추상 객체들을 살펴보다 보면 앞에 어떠한 단어들이 붙어 있는 걸 알 수 있습니다.

public void sum(int a, int b) {...}

이런 단어들은 어떤역할을 하고 있는걸까요?

접근제어자의 종류와 특징

이런 단어들은 접근제어자라고 불립니다.

접근제어자의 종류는 네 가지입니다: private, default(명시하지 않음), protected, public. 각각의 접근제어자는 클래스, 메소드, 변수 등의 멤버에 대한 접근 수준을 다르게 하여 클래스나 메소드의 간섭을 정하는 역할을 합니다.

1. private

  • 특징: 클래스 내부에서만 접근 가능
  • 목적: 클래스의 내부 로직을 숨기고, 외부에서의 직접 접근을 차단하여 데이터를 보호합니다.

2. Default (Package-private)

  • 특징: 같은 패키지 내의 클래스들만 접근 가능
  • 목적: 패키지 내부에서는 자유롭게 접근할 수 있도록 하면서, 패키지 외부에서는 접근을 제한하여 패키지 단위의 캡슐화를 제공합니다.

3. protected

  • 특징: 같은 패키지 내의 클래스 또는 다른 패키지의 서브 클래스에서 접근 가능
  • 목적: 상속받은 클래스가 부모 클래스의 멤버를 사용할 수 있게 하면서도, 일반적인 사용에는 제한을 두어 클래스의 무결성을 유지합니다.

4. public

  • 특징: 어디서든 접근 가능
  • 목적: 애플리케이션의 다른 부분에서 자유롭게 사용할 수 있도록 하여, 클래스의 공개 API를 형성합니다.

결론

Java에서 접근 제어자의 적절한 사용은 클래스의 내부 구현을 숨기고 필수 인터페이스만을 노출시키는 데 중요한 역할을 합니다.
이를 통해 개발자는 쉽게 고칠 수 있고, 예상치 못한 오류로부터 시스템을 보호할 수 있습니다.
또한, 접근 제어자는 객체 지향 프로그래밍의 핵심 원칙인 캡슐화와 정보 은닉을 구현하는 데 결정적인 역할을 합니다.

private, default, protected, public 각각의 접근 제어자를 상황과 요구에 맞게 사용함으로써, 코드의 캡슐화와 안정성을 강화할 수 있습니다.

이렇게 Java의 접근제어자들의 특징과 역할에 대해 알아보았습니다.

출처

profile
개발자
post-custom-banner

0개의 댓글