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

"퍼블릭"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
19번째 줄: 19번째 줄:
 
== 특징 ==
 
== 특징 ==
 
접근제어자가 public으로 설정되었다면 public 접근제어자가 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가능하다.
 
접근제어자가 public으로 설정되었다면 public 접근제어자가 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가능하다.
 +
 +
public이 붙은 변수나 메서드는 같은 프로젝트 안에서 사용가능하다.<br>
 +
다음은 하나의 프로젝트에 존재하는 패키지 A와 패키지 B의 코드이다.
  
 
  //패키지 A
 
  //패키지 A
34번째 줄: 37번째 줄:
 
         ClassA.static = "";
 
         ClassA.static = "";
 
     }
 
     }
  }<ref name="접근제어자 사용">〈[https://webcoding.tistory.com/entry/JAVA-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EC%82%AC%EC%9A%A9-%EC%9D%B4%EC%9C%A0 접근 제어자(public)]〉, 《심플한 코딩사전》, 2019-07-13</ref>
+
  }
 
 
  
 +
위와 같이 클래스를 import만 해주면 다른 패키지에서 접근이 가능하여 변수들을 사용할 수 있는 것을 확인 할 수 있다.<ref name="접근제어자 사용">〈[https://webcoding.tistory.com/entry/JAVA-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EC%82%AC%EC%9A%A9-%EC%9D%B4%EC%9C%A0 접근 제어자(public)]〉, 《심플한 코딩사전》, 2019-07-13</ref>
  
위 예제의 HousePark의 info 변수는 public 접근제어자가 붙어 있으므로 어떤 클래스에서던지 접근이 가능하다.
 
  
 
접근제어자를 모두 public으로 설정해도 프로그램은 잘 동작할 것이다.<br>
 
접근제어자를 모두 public으로 설정해도 프로그램은 잘 동작할 것이다.<br>
하지만 접근제어자를 이용하면 프로그래머의 코딩 실수를 방지할 수 있고 기타 위험요소를 제거할 수 있는 등의 많은 장점이 있다.<ref name="접근 제어자(public)">〈[https://wikidocs.net/232 접근 제어자(public)]〉, 《점프 투 자바》, 2017-09-11</ref>
+
하지만 접근제어자를 이용하면 프로그래머의 코딩 실수를 방지할 수 있고 기타 위험요소를 제거할 수 있는 등의 많은 장점이 있다.<ref name="접근 제어자(public)">〈[https://wikidocs.net/232 접근 제어자(public)]〉, 《점프 투 자바》, 2017-09-11</ref>
  
 
== 필요성 ==
 
== 필요성 ==

2020년 8월 11일 (화) 13:43 판

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

개요

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

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

public > protected > default > private

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

특징

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

public이 붙은 변수나 메서드는 같은 프로젝트 안에서 사용가능하다.
다음은 하나의 프로젝트에 존재하는 패키지 A와 패키지 B의 코드이다.

//패키지 A
package A;
public class ClassA {
    public static String static = "static";
}

//패키지 B
package B;
import A.ClassA;
public class ClassB {
   public static void main(String[] args) {     
       ClassA.static = "";
   }
}

위와 같이 클래스를 import만 해주면 다른 패키지에서 접근이 가능하여 변수들을 사용할 수 있는 것을 확인 할 수 있다.[2]


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

필요성

각주

  1. 접근 제어자〉, 《접근 제어자》, 2018
  2. 접근 제어자(public)〉, 《심플한 코딩사전》, 2019-07-13
  3. 접근 제어자(public)〉, 《점프 투 자바》, 2017-09-11

참고자료

같이 보기


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