본문 바로가기
Java 강의

접근 제한자 / 접근 제어자

by 자유코딩 2017. 9. 14.

●접근 제한자 / 접근 제어자

자바는 객체지향 프로그래밍 언어입니다.

현실 세계의 사물들을 각각 하나의 객체로 보고 객체들 사이의 관계를 중심으로 프로그램을 작성합니다.

전지적 작가 시점에서 현실세계를 보고 프로그램을 작성하는 것이 아닙니다.

3인칭 관찰자 시점에서 프로그램을 작성합니다.

예를 들면 강아지와 사람을 자바 코드로 만드는 상황을 보겠습니다.

강아지는 강아지 고유의 특성인 꼬리가 있습니다.

사람은 꼬리가 없습니다.

그럼 강아지 Class에 꼬리 길이인 변수 int lengthOfTail을 선언한다면 private이라는 접근 제한자로 데이터에 접근하지 못하게 해야 합니다.

사람 객체는 꼬리가 없으니까요.

이것이 private 이라는 접근제한자를 쓰는 첫번째이유입니다.

 

접근제한자를 쓰는 두번째 이유는 클래스의 데이터를 보호하기 위해서 사용합니다.

 

정리하면 프로그래머가 객체의 멤버(데이터,필드,속성,메소드)들이 대외적으로 공개되지 않도록 접근 제한을 걸 수가 있습니다.

자바에서는 이것을 접근 제한자라 합니다.

 

접근 제한자 / 접근 제어자의 종류

public      : 모든 접근을 허용

protected : 같은 패키지(폴더)에 있는 객체와 상속관계의 객체들만 허용

default    : 같은 패키지(폴더)에 있는 객체들만 허용

private    : 현재 객체 내에서만 허용

1번과 2번 같은 폴더를 패키지라고 합니다.

protected 는 이런 패키지들 중에서 같은 패키지 안에 있는 class끼리 접근이 가능한 접근 제한자입니다.

 

접근 제어자

 

 지시자

클래스 내부 

동일 패키지 

상속받은 클래스 

이외의 영역 

 Private

 O

 X

 X

 X

 default

 O

 O

 X

 X

 protected

 O

 O

 O

 X

 public

 O

 O

 O

 O

 

jswoo030@gmail.com 로 질문을 보내시면 빠른 답변을 받으실 수 있습니다.

여러분의 자바 실력이 빠르게 향상되시길 바랍니다.

댓글