본문 바로가기

객체 지향 프로그래밍 - 클래스

Getter와 Setter

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