자바를 공부하다 보면 접근제한자라는 개념이 나온다.(public, private, default, protected)
이 접근제한자를 전체 큰 틀에 맞춰 빠르게 이해해보자.
접근제한자란 무엇인가?
공개 범위를 결정하는 하나의 장치
잠금장치를 생각하면 쉽다.
외부인의 차단을 막기 위한 하나의 잠금체계이면서 인가된 사람은 접근을 허용
왜 사용 할까?
말 그대로 접근을 제한한다는 의미이다. 즉 인가되지 않은 사람에게 공유하고 싶지 않는 데이터를 보호함이다.
혹은 인가된 정보끼리는 접근을 허용하겠다는 의미다.
그래서 접근제한자의 종류와 정의를 한다면?
public : 완전히 공개하겠다.
: 다른 패키지에서 사용가능하도록 하겠다.(클래스, 인터페이스 등 외부로 공개 하는 역할)
: But, 패키지를 외부 공개 했다 해서 클래스 내부 필드와 메소드 모두 공개되는것은 X, 각 각 요소에도 public을 붙여야지만 패키지 외부에서 사용 가능.
private : 철저히 비공개로 하겠다.(같은 공간내 서로 다른 클래스가 있더라도 공개X)
default : 동일 패키지 내에서 공개 하겠다 = 같은 공간내에 있는 클래스에게 공개를 하겠다.
ex) int num;
과 같은 것 앞에 어떠한 것도 안붙어 있는 것.
protected : 상속 관계의 범위내(클래스)에서 공개하겠다.
코드로 살펴보기
class bankAccount{
public userNum;
private id;
private pw;
private balance;
}
각 각의 번호를 입력하는건 공개가 되어도 상관이 없다. 하지만 id,pw,잔액은 전부 철저히 감춰야 한다.
'* Web > [Back] Java' 카테고리의 다른 글
[Java] 자바 : 햇갈리는 this? 원리로 이해하는 개념 (0) | 2021.03.17 |
---|---|
[Java] 자바 : 접근 제한자 private을 우회적으로 접근하는 getter, setter 이해하기 (0) | 2021.03.17 |
[Java] 자바 : static의 개념은 무엇이고 왜 사용할까? (0) | 2021.03.16 |
[Java] 자바 : 레퍼런스(Reference)란? (1) | 2021.03.16 |
[Java] 자바 객체 단계별로 생성 하는 법? (0) | 2021.03.16 |
댓글