티스토리 뷰
접근 지정자(접근 제한자)(Access modifier)
- 접근 지정자는 객체 지향의 4대 개념(추상화, 캡슐화, 상속, 다형성)에서 캡슐화와 관련되어 있다.
- 즉, 캡슐화라는 개념이 포함하고 있는 '은닉화'와 밀접한 관련이 있다.
- 접근 지정자에는 public, protected, default, private 4종류가 있다.
- 접근 지정자의 접근 가능 범위 private < default < protected < public
접근 지정자 | 접근 범위 | 동일 클래스 | 동일 패키지 | 다른 패키지의 자식 클래스 |
다른 패키지 |
public | 접근 제한 없음 | O | O | O | O |
protected | 동일 패키지/상속 받은 서브 클래스 | O | O | O | X |
default | 동일 패키지 | O | O | X | X |
private | 동일 클래스 | O | X | X | X |
☞ public
public class World { //public class
...
}
- 모든 패키지에서 제한 없이 접근이 가능하다.
☞ default
class Local { //default 클래스
...
}
- package-private 이라고도 하며, 같은 패키지의 클래스에만 접근을 허용한다.
☞ private
class A {
private int data;
private void doIt(){
// 필드 data는 동일 클래스 내부에서만 접근이 가능하다.
System.out.println(data);
}
}
class javaStudy {
public static void main(String[] args){
A a = new A();
System.out.println(a.data);
// error: 필드 A.data 에 접근이 불가함
a.doIt();
// error: private 함수에 접근이 불가함
}
}
- private 접근 제어자를 사용하면 해당 멤버에는 외부에서 접근이 불가능하며, 오로지 동일 클래스 내부에서만 접근이 가능하다.
☞ protected
package pk;
public class javaStudy{
protected void sayHello(){
System.out.println("Hello");
}
}
package pk;
import pk.javaStudy;
class study7 extends javaStudy {
public void method(){
// javaStudy 클래스의 멤버에 접근
sayHello();
// 인스턴스로 접근 시 상속받은 객체를 인스턴스화 해야한다.
study7 st = new study7();
st.sayHello();
}
}
- protected 로 선언된 멤버는 같은 패키지에 속한 경우나 이를 상속한 클래스만 접근이 가능하다.
'Study > Java' 카테고리의 다른 글
[스터디 9주차] 자바의 예외(Exception)처리 (0) | 2022.02.13 |
---|---|
[스터디 8주차] 인터페이스(Interface) (0) | 2022.01.30 |
[스터디 7주차] Classpath (0) | 2022.01.22 |
[스터디 7주차] import 키워드 (0) | 2022.01.22 |
[스터디 7주차] package 키워드 (0) | 2022.01.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코드업 기초
- 프로그래머스
- 자료구조
- It
- 리스트2
- 프로그래머스강의
- 이차 리스트
- SW
- 리스트 복사
- CS
- 완전탐색
- 리스트
- 자료구조와알고리즘 23강
- 정렬
- 스터디
- CS 스터디
- CS.
- 프로세스 주소공간
- 알고리즘
- 운영체제
- 연결리스트활용
- 보험
- 파이썬
- 데이터베이스
- 이진탐색
- 네트워크
- Greedy sort
- https
- 자바
- 리스트함축
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함