Contents

Java
2013.12.28 09:36

3.5.4 private의 사용 이유

조회 수 277 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


3.5.4 private의 사용 이유

private을 사용하는 이유에 대해 3가지 질문을 던지고, 질문을 해결하면서 private의 또 다른 의미에 대해서 알아보자.

□ private을 사용하는 이유에 대한 3가지 질문
◇ private 멤버 메서드도 있을까?
◇ private 멤버 변수에 접근하는 방법이 public 메서드밖에는 없을까?
◇ private 멤버 변수를 왜 사용할까?

일단 private 멤버 메서드부터 해결해보자. public 멤버 메서드도 있는데 private 멤버 메서드가 없겠는가? 당연히 있다.

그렇다면 점(.)찍고 private에 접근할 수 없으니 'private 메서드는 필요 없지 않겠는가?'라고 말할 것이다. 맞다. 외부에서 사용할 때는 정말 필요 없다. 하지만 클래스 내부에서만 사용하기 위해서 private 메서드를 사용한다.

앞에서 멤버끼리는 공유가 가능하다고 언급한 적이 있다. 멤버끼리는 private인지 public인지를 따지지 않는다. 그렇기 때문에 내부에서만 사용하는 메서드를 private으로 만들어서 사용하면 되는 것이다.

□ private 멤버 메서드를 왜 사용할까?
◇ 해당 클래스 내부에서만 사용 가능하다.

두 번째 질문을 해결해보자. private 멤버 변수에 접근하고자 한다면 public 멤버 메서드밖에는 없을까? 답은 없다. private 멤버 변수를 어떻게 하고 싶으면, public 메서드를 통하지 않고서는 방법이 없다.

세 번째 질문으로 넘어가자. 이것이 가장 큰 질문이다. private 멤버 변수를 왜 사용할까? 객체지향 프로그래밍(Object Oriented Programming) 기법에서 처음부터 나오지만 잘 설명이 되지 않고 아주 어렵게 설명되는 부분이다.

이것을 보통 은폐화, 캡슐화, 또는 자료 보호라고 한다. 자료를 보호하기 위해서 public 멤버 메서드를 통해서만 private 멤버에 접근하게 하는 것이다. private 멤버 변수를 왜 사용하는지 조금 더 자세히 알아보자.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
68 Java 3.6.7 결론 IT장인 2013.12.28 419
67 Java 3.6.6 MotorCycle m = new MotorCycle() IT장인 2013.12.28 895
66 Java 3.6.5 참조 변수의 타입 IT장인 2013.12.28 512
65 Java 3.6.4 참조 변수끼리의 할당 IT장인 2013.12.28 536
64 Java 3.6.3 참조 변수의 특징 IT장인 2013.12.28 1109
63 Java 3.6.2 참조값의 원리 IT장인 2013.12.28 641
62 Java 3.6.1 객체의 메모리 생성 IT장인 2013.12.28 307
61 Java 3.5.5 private 멤버 필드를 사용하는 이유 IT장인 2013.12.28 1865
» Java 3.5.4 private의 사용 이유 IT장인 2013.12.28 277
59 Java 3.5.3 private에 접근하는 방법 IT장인 2013.12.28 2225
58 Java 3.5.2 private의 접근과 컴파일 에러 IT장인 2013.12.28 668
57 Java 3.5.1 접근제어란? IT장인 2013.12.28 472
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6