퍼블릭 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''퍼블릭'''(public)은 [[객체 지향 프로그래밍]](OOP)에서 접근 제한이 전혀 없이 어디에서나 접근 가능하도록 허용하는 제어자이다. 예를 들어, public int getHour() { … } 처럼 사용한다.
+
[[객체 지향 프로그래밍]](OOP)에서 접근 제한이 전혀 없이 어디에서나 접근 가능하도록 허용하는 제어자이다. <br>
 +
예를 들어, public int getHour() { … } 처럼 사용한다.
  
 
== 개요 ==
 
== 개요 ==
자바에서는 변수와 함수, 클래스에 대한 접근을 제한하는 문법이 있다. 접근을 제한하는 이유는 객체가 가진 고유의 맴버 변수 값들이 외부에서 잘못 변경되는 것을 막기 위해서이다. 사전에 맴버 변수와 함수들의 성격을 규정하고 차단함으로써 의도치 않은 실수를 줄이기 위한 의도가 깔려 있다. 총 4가지가 있는데 public과 private를 가장 많이 사용한다.
+
자바에서는 변수와 함수, 클래스에 대한 접근을 제한하는 문법이 있다. <br>
 +
접근을 제한하는 이유는 객체가 가진 고유의 맴버 변수 값들이 외부에서 잘못 변경되는 것을 막기 위해서이다.<br>
 +
사전에 맴버 변수와 함수들의 성격을 규정하고 차단함으로써 의도치 않은 실수를 줄이기 위한 의도가 깔려있다.<br>
 +
총 4가지가 있는데 public과 private를 가장 많이 사용한다.<br>
  
 
접근 허용 가능 순서는 다음과 같고, 접근 범위는 왼쪽부터 크다.<ref name="접근 제어자">〈[https://mainia.tistory.com/5574 접근 제어자]〉, 《접근 제어자》, 2018</ref>
 
접근 허용 가능 순서는 다음과 같고, 접근 범위는 왼쪽부터 크다.<ref name="접근 제어자">〈[https://mainia.tistory.com/5574 접근 제어자]〉, 《접근 제어자》, 2018</ref>
8번째 줄: 12번째 줄:
 
'''public > protected > default > private'''
 
'''public > protected > default > private'''
  
* 퍼블릭(public) : 접근하는데 제한이 없음
+
*public : 접근하는데 제한이 없음
* [[프로텍티드]](protected) : 동일한 패키지 내에 존재하거나 파생클래스에서만 접근 가능
+
*protected : 동일한 패키지 내에 존재하거나 파생클래스에서만 접근 가능
* [[디폴트]](default) : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능
+
*default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능
* [[프라이빗]](private) : 자기 자신의 클래스 내에서만 접근이 가능
+
*private : 자기 자신의 클래스 내에서만 접근이 가능
  
 
== 특징 ==
 
== 특징 ==
24번째 줄: 28번째 줄:
 
     public static String static = "static";
 
     public static String static = "static";
 
  }
 
  }
 +
  
 
  //패키지 B
 
  //패키지 B
35번째 줄: 40번째 줄:
  
 
위와 같이 클래스를 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>
 
위와 같이 클래스를 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>
 +
  
 
[[접근제어자]]를 모두 public으로 설정해도 프로그램은 잘 동작할 것이다.<br>
 
[[접근제어자]]를 모두 public으로 설정해도 프로그램은 잘 동작할 것이다.<br>
40번째 줄: 46번째 줄:
  
 
== 필요성 ==
 
== 필요성 ==
[[접근 제어자]]를 사용하는 이유는 보안 때문이라고 할 수 있다. 만약에 웹사이트에서 아이디와 비밀번호 같은 중요한 정보를 public 변수에 저장을 한다면 아무데서나 직접적으로 접근하여 그 값을 변경할 수 있기 때문에 노출되기 쉽기 때문이다. 또한 여러 사람들과 함께 프로그램을 만들다 보면 다른 사람이 내가 만든 중요한 변수나 메서드를 무분별하게 사용하여 값을 변경할 수 있는데, 이를 막기 위해 상황에 맞는 접근 제어자를 사용해야 한다. 이렇게 중요한 변수와 메서드에 접근 제어자를 이용해 사용 범위를 지정해주면 완성도가 높은 프로그램을 완성할 수 있다.
+
[[접근 제어자]]를 사용하는 이유는 보안 때문이라고 할 수 있다.<br>
 +
만약에 웹사이트에서 아이디와 비밀번호 같은 중요한 정보를 public 변수에 저장을 한다면 아무데서나 직접적으로 접근하여 그 값을 변경할 수 있기 때문에 노출되기 쉽기 때문이다.<br>
 +
 
 +
또한 여러 사람들과 함께 프로그램을 만들다 보면 다른 사람이 내가 만든 중요한 변수나 메서드를 무분별하게 사용하여 값을 변경할 수 있는데, 이를 막기 위해 상황에 맞는 접근 제어자를 사용해야 한다.
 +
 
 +
이렇게 중요한 변수와 메서드에 접근 제어자를 이용해 사용 범위를 지정해주면 완성도가 높은 프로그램을 완성할 수 있다.
  
 
{{각주}}
 
{{각주}}
52번째 줄: 63번째 줄:
 
* [[객체 지향 프로그래밍]]
 
* [[객체 지향 프로그래밍]]
 
* [[접근제어자]]
 
* [[접근제어자]]
 
{{프로그래밍|검토 필요}}
 

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)