Java
2013.12.28 09:34
3.5.1 접근제어란?
조회 수 728 추천 수 0 댓글 0
3.5.1 접근제어란?
지금까지 public이라는 것을 많이 보았을 것이다. 별다른 설명 없이 여기까지 왔지만 메서드를 배우고 나면 제일 먼저 객체지향에서 논하는 주제가 바로 private과 public이다. 메서드의 학습 없이 private과 public을 논할 수 없기 때문에 지금까지 미루어 왔던 것이다. 메서드의 기초적인 개념을 배웠으니, 이제 접근제어에 대해서 알아보자.
접근제어란 새로운 데이터 타입을 만들고, 그 데이터 타입으로 객체를 선언한 후 객체 내의 멤버 변수에 값을 할당할 때, 값을 직접 할당할 수 있는가 없는가를 결정하는 접근 지정자(Access Identifier)를 말한다. 구조체의 경우 모든 멤버에 대해 직접할당을 원칙으로 한다.
하지만 클래스를 이용해서 만든 새로운 데이터 타입일 경우에는 이것을 private과 public으로 제어할 수 있다. private인 경우에는 값을 직접 할당할 수 없다. 이 말은 멤버의 접근이 private이면 점(.)찍고 접근할 수 없다는 의미이다. 당연히 public인 경우에만 값을 직접 할당할 수 있다.
□ public
◇ 값을 직접 접근할 수 있다.
□ private
◇ 값을 직접 접근할 수 없다.
보통 이러한 접근제어를 자료의 은폐화(Encapsulation)라고 표현한다. 이 은폐화는 아래와 같이 두 가지 측면에서 생각해 볼 수 있다.
□ 접근제어의 종류
◇ 객체를 이용한 멤버의 접근제어
◇ 상속관계에서 상위 클래스와 하위 클래스간의 접근제어
이 두 접근제어에 대한 분류는 미세한 차이를 보이고 있다. 첫 번째 접근제어는 이 장에서 자세하게 다루게 되며, 두 번째 접근제어는 상속을 학습할 때 만나게 될 것이다.
□ 접근제어란?
◇ 메모리를 보유한 객체를 이용해서 멤버에 점(.)찍고 접근할 수 있는지 없는지를 결정한다.
여기서 논의되는 접근제어는 객체를 생성하고 메모리를 할당한 후이며, 상속관계의 접근제어는 상속관계에서 클래스를 만들 때 다시 논의해보자. 여기서는 객체를 이용한 접근제어에 대해서만 알아보자.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
68 | Java | 1.4.5 그 외 데이터 타입 | IT장인 | 2013.11.21 | 71136 |
67 | Java | 3.5.3 private에 접근하는 방법 | IT장인 | 2013.12.28 | 5228 |
66 | Java | 3.5.5 private 멤버 필드를 사용하는 이유 | IT장인 | 2013.12.28 | 2562 |
65 | Java | 3.6.3 참조 변수의 특징 | IT장인 | 2013.12.28 | 1988 |
64 | Java | 3.6.6 MotorCycle m = new MotorCycle() | IT장인 | 2013.12.28 | 1867 |
63 | Java | 3.6.2 참조값의 원리 | IT장인 | 2013.12.28 | 1572 |
62 | Java | 3.6.4 참조 변수끼리의 할당 | IT장인 | 2013.12.28 | 1457 |
61 | Java | 1.4.2 정수형과 실수형 메모리의 형태 | IT장인 | 2013.11.21 | 1410 |
60 | Java | 3.5.2 private의 접근과 컴파일 에러 | IT장인 | 2013.12.28 | 1398 |
59 | Java | 3.6.5 참조 변수의 타입 | IT장인 | 2013.12.28 | 1279 |
58 | Java | 3.6.7 결론 | IT장인 | 2013.12.28 | 1192 |
» | Java | 3.5.1 접근제어란? | IT장인 | 2013.12.28 | 728 |