접근 제한자
- 중요한 필드와 메소드가 외부로 노출되지 않도록하여 객체의 무결성을 유지하기 위해 접근 제한자를 사용한다.
- 접근 제한자는 public, protected, private 의 3가지 종류가 있다.
클래스의 접근 제한
- 클래스를 선언할 때 public 접근 제한자를 생략하면(default) 클래스는 다른 패키지에서 사용할 수 없다.
- 클래스를 선언할 때 public 접근 제한자를 붙이면 클래스는 같은 패키지 뿐만 아니라 다른 패키지에서도 사용할 수 있다.
생성자의 접근 제한
- 생성자는 public, default, private 접근 제한을 가질 수 있다.
필드와 메소드의 접근 제한
- 필드와 메소드는 public, default, private 접근 제한을 가질 수 있다.
Setter
- 데이터를 검증해서 유효한 값만 필드에 저장하는 메소드
- 같은 클래스 내부에 있는 private 필드에 접근해서 값을 변경할 수 있도록한다.
Getter
- 필드값이 객체 외부에서 사용하기 부적절한 경우, 적절한 값으로 변환해서 리턴할 수 있는 메소드
- 같은 클래스 내부에 잇는 private 필드에 접근해서 값을 가져온다.
객체의 필드(데이터)를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성(결점이 없는 성질)이 깨질 수 있다.
객체 지향 프로그래밍에서는 직접적인 외부에서의 필드 접근을 막고 대신 메소드를 통해 필드에 접근하는 것을 선호한다. => private를 사용하여 접근을 제한한다.
Getter/Setter 메소드 자동생성
이클립스에서 클래스에 선언된 필드에 대해 자동으로 Getter와 Setter메소드를 생성시키는 기능이 있다.
필드 선언 후 메뉴에서 Source - Generate Getter and Setters 선택 - 선언된 필드에 대한 Getter와 Setter를 생성할 필드 선택 - Generate
싱글톤 패턴
- 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아서 외부에서 마음대로 객체를 생성하지 못하게한다.
- 대신 싱글톤 패턴이 제공하는 정적 메소드를 통해 간접적으로 객체를 얻을 수 있다.
* static으로 선언한 필드, 클래스는 하나만 생성이 된다.
- 즉, 값이 변경되면 모두 변경되고, 변경하지 않는다면 마지막 변경값을 유지한다.
(- static으로 선언하면 같은 주소를 공유하는 클래스, 필드를 만들 수 있다.)
'JS > 정리' 카테고리의 다른 글
[자바스크립트] DOM(2) (0) | 2022.12.20 |
---|---|
[자바스크립트] DOM (0) | 2022.12.19 |
[자바스크립트] 객체(2) (0) | 2022.12.16 |
[자바스크립트] 객체 (1) (0) | 2022.12.16 |
[자바스크립트] 이벤트 (0) | 2022.12.15 |
댓글