-
JAVA 접근제한자: public, protected, package, private전산학/프로그래밍 2024. 8. 24. 00:28728x90반응형
Java에서 접근 제한자는 클래스, 변수, 메서드 및 생성자에 대한 접근을 제한하는 키워드입니다. 이들은 클래스 외부에서의 접근을 제어하여 객체 지향 프로그래밍의 캡슐화와 정보 은닉 원칙을 지원합니다. Java에는 네 가지 주요 접근 제한자가 있습니다:
public
,protected
,default
(아무 키워드도 사용하지 않음),private
.1. Public
- 설명:
public
접근 제한자가 붙은 클래스, 메서드, 필드, 생성자는 어디에서나 접근할 수 있습니다. - 적용 범위: 다른 패키지의 클래스도 접근할 수 있습니다.
2. Protected
- 설명:
protected
접근 제한자가 붙은 메서드와 필드는 동일 패키지 내의 다른 클래스 또는 다른 패키지에 속한 서브 클래스에서 접근할 수 있습니다. - 적용 범위: 같은 패키지 내의 클래스 또는 해당 클래스를 상속받은 다른 패키지의 클래스.
3. Default (Package-Private)
- 설명: 접근 제한자를 명시하지 않으면, 그 멤버는
default
접근 제한을 가집니다.default
로 선언된 클래스, 메서드, 필드는 동일한 패키지 내의 클래스들만 접근할 수 있습니다. - 적용 범위: 같은 패키지 내의 클래스만 접근할 수 있습니다.
4. Private
- 설명:
private
접근 제한자가 붙은 메서드, 필드, 생성자는 해당 클래스 내부에서만 접근할 수 있습니다. 다른 클래스(심지어 상속받은 클래스들조차)에서는 접근할 수 없습니다. - 적용 범위: 오직 그 클래스 내부에서만 접근 가능.
접근 제한자의 사용 예:
public class AccessLevels { public int open; // 어디서든 접근 가능 protected int lessOpen; // 같은 패키지 또는 상속받은 클래스에서 접근 가능 int almostSecret; // 같은 패키지 내에서만 접근 가능 private int secret; // 클래스 내부에서만 접근 가능 public AccessLevels() { open = 1; lessOpen = 2; almostSecret = 3; secret = 4; } }
이러한 접근 제한자들은 클래스의 안정성을 보장하고, 외부에서 중요한 데이터나 메서드에 무분별한 접근을 막아 프로그램의 신뢰성을 높이는 데 기여합니다. 또한, Java 개발자로서 API를 설계할 때 특정 메서드나 변수를 외부에 노출할지 여부를 결정하는 데 중요한 역할을 합니다.
728x90반응형'전산학 > 프로그래밍' 카테고리의 다른 글
double 자료형과 int 자료형을 계산하면 결과 (0) 2024.08.24 [C, Java, Python] 피보나치 수열(Fibonacci numbers) 코드로 이해하기 (0) 2024.08.13 [C, Java, Python] 하노이의 탑(Tower of Hanoi) 코드 시리즈 (0) 2024.08.13 [프로그래밍] 참조되는 것(Referenced), 참조하는 것(Referencing) 제대로 구분하기 (0) 2024.08.13 JAVA 오버라이딩(Overriding)과 오버로딩(Overloading) 비교 (0) 2024.08.01 - 설명: