Setter
- 데이터를 검증해서 유효한 값만 필드에 저장하는 메소드
Getter
- 필드값이 객체 외부에서 사용하기에 부적절한 경우, 적절한 값으로 변환해서 리턴할 수 있는 메소드
출처, 이것이 자바다
package ch06.sec14;
public class Car {
//필드선언. private, 생략 - default, public
//개발시에는 보통 private 사용
private int speed;
private boolean stop;
//speed필드를 참조하기위한 메소드 선언
//외부에서 제공하는 speed값이 음수이면, 0
//0보다 크거나 같으면 그대로 적용
//setter 메소드
public void setSpeed(int speed) {
if(speed < 0) {
this.speed = 0;
return;
}else {
this.speed = speed;
}
}
//getter 메소드
public int getSpeed() {
return speed;
}
//getter 메소드 //boolean일때만 get이 아니라 is를 쓴다.
public boolean isStop() {
return stop;
}
//setter 메소드
public void setStop(boolean stop) {
this.stop = stop;
if(stop == true) this.speed = 0;
}
}
package ch06.sec14;
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car();
// myCar.speed = -100; //직접 접근을 통한 잘못된 값 사용을 막기위하여
//잘못된 속도 변경
myCar.setSpeed(-50);
System.out.println("현재 속도:" + myCar.getSpeed());
//올바른 속도 변경
myCar.setSpeed(60);
System.out.println("현재 속도:" + myCar.getSpeed());
//멈춤
if(!myCar.isStop()) {
myCar.setStop(true);
}
System.out.println("현재 속도:" + myCar.getSpeed());
}
}
package ch06.sec14.exam01;
public class LoginUser {
private String userId;
private String passwd;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
'객체 지향 프로그래밍 - 클래스' 카테고리의 다른 글
싱글톤 패턴 (0) | 2023.01.17 |
---|---|
접근 제한자 (0) | 2023.01.17 |
패키지 (0) | 2023.01.17 |
final 필드와 상수 (0) | 2023.01.16 |
정적 멤버 (0) | 2023.01.16 |