접근제한자
- 멤버 또는 클래스에 사용되어 외부에서 접근하지 못하도록 제한하는 역할
- 데이터 타입 앞에 명령어 작성
| 다른패키지 | 같은 패키지 | 같은클래스 |
---|
Public | O | O | O |
Protected | 자식클래스만 | O | O |
Default | X | O | O |
Private | X | X | O |
- 접근제한자가 따로 지정되어 있지 않으면 전부 Default
- 메서드, 생성자에도 적용 가능
1. 메서드
Private Sample1 (int a, int b){}
2. 생성자
Public Car (){}
접근제한자의 사용
- 클래스는 Public, Default만 가능하며 상수는 Public으로 공개함
- 일반적으로 멤버변수는 private, 생성자는 public을 사용
- 매개변수, 지역변수는 접근제한자 사용불가
- 다른 패키지에서 실행 시 import명령어 필요
1. modifier1 패키지의 Sample1 클래스
package modifier1;
public class Sample1 {
public int a;
2. modifier2 패키지의 Sample2 클래스
package modifier2;
import modifier1.Sample1; //
public class Sample2 {
public static void main(String[]args) {
Sample1 s1 = new Sample1();
s1.a = 10;
Getter, Setter
- 자바는 변수로의 직접 접근보다 메서드를 통한 간접접근을 선호함
따라서 멤버변수는 대부분 같은 클래스 내의 메서드로 접근함
- Getter: 변수값 조회 시 사용
Setter: 변수값 수정, 삭제, 추가 시 사용
| 용도 | 반환값 | 매개변수 |
---|
Get | 조회 | O | X |
Set | 생성, 변경, 삭제 | void | O |