캡슐화 란?
객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고,
실제 구현 내용의 일부를 내부어 감추어 은닉한다.
참고 : https://ko.wikipedia.org/wiki/캡슐화
public , private
다른언어( ex: java )와 다르게 별도의 접근제어자를 사용하진 않는다.
명칭 | 제한 범위 | 설정 방법 | 접근 가능한 범위 |
---|---|---|---|
private | 제한이 엄격 | 멤버 앞에 _ 붙이기 | 자기자신의 클래스 |
public | 제한이 느슨 | 기본 값 | 모든 클래스 |
- public
- 별도 식별자 또는 명령어 없음( 기본 네이밍 )
- 모든 클래스에서 접근 가능
- private
- 멤버 이름 앞에 _를 붙여 준다
- 동일 클래스 내에서만 접근 가능
메소드를 경유한 필드 조작
- getter : 읽기 전용 프로퍼티를 구현 할 때 사용
- setter : 쓰기 전용 프로퍼티를 구현 할 때 사용 ( 사용빈도 낮음 )
⇒ 개발자의 잘못 된 접근(휴먼 에러)를 사전에 방지하자.