검수요청.png검수요청.png

퍼블릭

위키원
tjdgus399 (토론 | 기여)님의 2020년 8월 11일 (화) 13:22 판 (특징)
이동: 둘러보기, 검색

객체 지향 프로그래밍(OOP)에서 접근 제한이 전혀 없이 어디에서나 접근 가능하도록 허용하는 제어자이다.
예를 들어, public int getHour() { … } 처럼 사용한다.

개요

자바에서는 변수와 함수, 클래스에 대한 접근을 제한하는 문법이 있다.
접근을 제한하는 이유는 객체가 가진 고유의 맴버 변수 값들이 외부에서 잘못 변경되는 것을 막기 위해서이다.
사전에 맴버 변수와 함수들의 성격을 규정하고 차단함으로써 의도치 않은 실수를 줄이기 위한 의도가 깔려있다.
총 4가지가 있는데 public과 private를 가장 많이 사용한다.

접근 허용 가능 순서는 다음과 같고, 접근 범위는 왼쪽부터 크다.[1]

public > protected > default > private

  • public : 접근하는데 제한이 없음
  • protected : 동일한 패키지 내에 존재하거나 파생클래스에서만 접근 가능
  • default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능
  • private : 자기 자신의 클래스 내에서만 접근이 가능

특징

접근제어자가 public으로 설정되었다면 public 접근제어자가 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가능하다.

package jump2java.house;
public class HousePark {
   protected String lastname = "park";
   public String info = "this is public message.";
}

위 예제의 HousePark의 info 변수는 public 접근제어자가 붙어 있으므로 어떤 클래스에서던지 접근이 가능하다.

이상과 같이 총 4개의 접근제어자에 대해서 알아보았다.
예제는 변수만을 대상으로 설명했지만 메소드도 마찬가지의 접근제어 규칙을 따른다.

  • 클래스내의 클래스를 inner 클래스라고 부르는데 이러한 inner클래스에도 역시 접근제어자를 붙여서 접근을 제어할 수 있다.

접근제어자를 모두 public으로 설정해도 프로그램은 잘 동작할 것이다. 하지만 접근제어자를 이용하면 프로그래머의 코딩 실수를 방지할 수 있고 기타 위험요소를 제거할 수 있는 등의 많은 장점이 있다.

필요성

각주

  1. 접근 제어자〉, 《접근 제어자》, 2018

참고자료

같이 보기


  검수요청.png검수요청.png 이 퍼블릭 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.