반응형
접근 제한자
- 객체의 필드를와 메소드가 외부로 노출되지 않도록 도와주는 역할
- public
- protected
- default
- private
public
- 제한 범위 없음 같은 패키지 뿐만 아니라 다른 패키지에도 사용가능
protected
- 같은 패키지 혹은 자식 객체에만 사용 가능
default
- 접근 제한자를 생략했다면 기본으로 default
- 같은 패키지에서만 사용가능
private
- 객체 내부, 클래스 내부에서만 사용가능
Getter와 Setter
- 객체의 필드를 외부에서 마음대로 읽고 변경한다면 객체의 무결성이 깨질 수 있다. 이러한 문제 때문에 객체 지향 프로그래밍에서는 직접적인 외부에서의 필드 접근을 막고, 메소드를 이용해 필드에 접근하는 것을 선호한다.
- private 접근 제한을 가질 때 사용하는 메서드
// getter 메서드 - 읽을 때
private double speed;
public double getSpeed(){
double km = speed * 1.6;
return km;
}
getter, setter 메서드 기본 사용법
private String fieldName;
public String getFieldName(){
return fieldName;
}
public void setFeildName(String fieldName){
this.fieldName = fieldName;
}
//필드 타입이 boolean인 경우는 get으로 시작하지않고 is로 시작 isFieldName()
싱글톤 패턴
- 애플리케이션 전체에서 단 한 개의 객체만 생성해서 사용하고 싶다면 싱글톤 패턴 사용
- 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막음
private static 클래스 singleton = new 클래스();
'Backend > Java' 카테고리의 다른 글
Java - 객체, 클래스, 인스턴스의 차이 (2) | 2023.02.19 |
---|---|
Java - 오버로딩(overloading), 오버라이딩(overriding) 차이점 (0) | 2023.02.19 |
Java - Array 배열 그리고 Enum (0) | 2023.02.19 |
Java - package 패키지 (0) | 2023.02.19 |
Java - 문자열 String (0) | 2023.02.13 |
댓글