본문 바로가기
* Web/[Back] Java

[Java] 자바 : 접근 제한자 큰 그림 이해하기

by codinguser 2021. 3. 17.

자바를 공부하다 보면 접근제한자라는 개념이 나온다.(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,잔액은 전부 철저히 감춰야 한다.

댓글