접근 지정자
접근 지정자란?
클래스, 메서드, 변수 접근권한 부여의 범위 설정
[ 종류에 따른 접근 권한 ]
접근 지정자 종류와 접근 범위
|
같은 클래스 |
자식 클래스 |
같은 패키지 |
다른 패키지 |
public |
가능 O |
가능 O |
가능 O |
가능 O |
default |
가능 O |
가능 O |
가능 O |
불가 X |
protected |
가능 O |
가능 O |
가능 O |
불가 X(자식 가능 O) |
private |
가능 O |
불가 X |
불가 X |
불가 X |
Ex)
public 클래스 내에
private 메서드를 만들었다?
다른 클래스에 만든 public 클래스를 불러와 객체 생성은
가능하나 그 안의 private 메서드는 이용 x
이 처럼 접근 범위를 지정해줄 수 있다.
별도의 접근 지정자가 명시되어있지 않다면
자동으로 default 접근 지정자로 설정되는데
이는 위의 표처럼 다른 패키지를 제외하고는
다 사용할 수 있는 메서드와 변수로 지정되기에
같은 패키지인 privateExMain클래스에서
정상적으로 작동되고 있다.
이번엔 객체 변수 앞, 메서드 앞에 private 접근 지정자를
명시해주자 Main클래스에서 접근 시 오류가 나는 것을 볼 수 있다.
이는 private접근 지정자는 같은 클래스 내에서만 사용할 수 있기 때문이다.
get, set메서드 만들어 활용하기
(private 변수들을
다른 클래스에서 값 수정, 출력)
private가 붙은 변수에
다른 클래스에서 값을 수정, 또는 출력하고 싶다면?
그렇다면 클래스 내에 private지정자를 사용한
그 변수에 대한 수정, 출력에 대해 메서드를
만들어 주어 사용하게 되는데 get, set처럼 알기 쉽게
메서드명을 표기하여 작성한 뒤 사용한다.
'Java > JAVA 문법' 카테고리의 다른 글
자바 기초 배우기 16일차 [ 오버라이딩, 업,다운 캐스팅 ] (0) | 2020.01.04 |
---|---|
자바 기초 배우기 15일차 [ 객체배열 ] (0) | 2020.01.04 |
자바 기초 배우기 12,13일차 [ Class, 상속, 생성자 ] (0) | 2020.01.04 |
자바 기초 배우기11일차 [ 메서드Method(함수), 오버로딩 ] (0) | 2020.01.04 |
자바 기초 배우기 9,10일차 [ 배열,이중배열 ] (0) | 2020.01.04 |