[Java] public, private, protected, default 접근제한자
Language/Java
2024. 4. 30. 10:19
1. 접근 제한자
1) 접근 제한자 정의
접근 제한자(access modifier)는 클래스, 변수, 메서드 등의 멤버에 대한 접근을 제어하는 데 사용된다. 즉, 어떤 클래스의 외부에서 해당 멤버에 접근할 수 있는지를 결정한다.
2) 접근 제한자 사용하는 이유
- 코드의 안정성: 접근 제한자를 사용하면 외부에서 클래스의 내부 구현에 직접 접근하는 것을 방지할 수 있다. 이는 클래스의 내부 상태를 외부에서 잘못된 방식으로 변경하는 것을 방지하고, 코드의 일관성과 안정성을 유지할 수 있도록 도와준다.
- 유지보수성: 접근 제한자를 사용하면 클래스의 내부 구현을 캡슐화할 수 있다. 이는 클래스를 수정하거나 변경할 때 다른 부분에 영향을 덜 주며, 코드의 유지보수성을 향상시킨다.
- 보안성: 접근 제한자를 사용하면 민감한 정보나 중요한 기능에 대한 접근을 제어할 수 있다. 외부에서 접근할 필요가 없는 기능이나 변수에 대해서는 접근을 제한함으로써 보안을 강화할 수 있다.
- 의도 표현: 접근 제한자를 사용하면 클래스나 메서드를 정의할 때 해당 요소의 접근 범위를 명시적으로 표현할 수 있다. 이는 코드를 읽는 사람에게 해당 요소의 의도를 명확하게 전달할 수 있도록 도와준다.
3) 접근 제한자 사용처
- Class(클래스) : 클래스 선언부에 접근 제한자를 사용하여 해당 클래스의 접근 범위를 지정할 수 있다.
public, default(package-private) 두 가지 접근 제한자를 사용할 수 있다. - Variable(변수), Field(필드): 클래스 내의 변수(필드)에도 접근 제한자를 사용하여 해당 변수의 접근 범위를 지정할 수 있다.
public, protected, default(package-private), private 네 가지 접근 제한자를 사용할 수 있다. - Constructor(생성자) : 생성자에도 접근 제한자를 사용하여 해당 생성자의 접근 범위를 지정할 수 있다.
public, protected, default(package-private), private 네 가지 접근 제한자를 사용할 수 있다. - Method(메서드) : 메서드 선언부에 접근 제한자를 사용하여 해당 메서드의 접근 범위를 지정할 수 있다.
public, protected, default(package-private), private 네 가지 접근 제한자를 사용할 수 있다.
Class만 public과 default(package-private)만 사용 가능
Variable(Field), Constructor와 Method는 public, protected, default(package-private)와 private 모두 사용 가능
// 패키지 com.example에 위치한 MyClass.java 파일
package com.example;
public class MyClass {
public int publicVar = 10;
protected int protectedVar = 20;
int defaultVar = 30; // package-private
private int privateVar = 40;
}
@서리★ :: Seory Dev
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!