Contents

Java
2013.12.28 09:36

3.5.4 private의 사용 이유

조회 수 526 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
20 Java 3.3.5 값복사 IT장인 2013.12.28 337
19 Java 3.3.6 값복사와 매개변수의 전달 IT장인 2013.12.28 460
18 Java 3.3.7 값복사가 적용되는 곳 IT장인 2013.12.28 399
17 Java 3.4.1 클래스 내의 메서드 IT장인 2013.12.28 341
16 Java 3.4.2 변수와 메서드 결합의 의미 I IT장인 2013.12.28 371
15 Java 3.4.3 변수와 메서드 결합의 의미 II IT장인 2013.12.28 386
14 Java 3.4.4 변수와 메서드의 분리와 결합 IT장인 2013.12.28 446
13 Java 3.4.5 결론 IT장인 2013.12.28 343
12 Java 3.5.1 접근제어란? IT장인 2013.12.28 727
11 Java 3.5.2 private의 접근과 컴파일 에러 IT장인 2013.12.28 1374
10 Java 3.5.3 private에 접근하는 방법 IT장인 2013.12.28 5102
» Java 3.5.4 private의 사용 이유 IT장인 2013.12.28 526
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6