지난 글에서 접근제한자에 대해 알아보았습니다.
2023.01.29 - [개발 언어/JAVA] - Java 접근제한자
Java 접근제한자
접근 제한자 객체지향을 하는 프로그래밍 언어라면 빠질수 없는것이 바로 접근제한자 입니다. 자바 또한 객체지향 프로그래밍 추구하기 때문에 접근제한자가 존재하며 총 4단계의 접근제한자
like-money-programer.tistory.com
당시 글에서 데이터의 무결성을 위해 접근제한자를 사용한다고 알려드렸습니다.
객체지향 프로그래밍 에서는 직접적인 외부에서의 필드 접근을 막고 메소드를 활용하여 접근하는것을 지향합니다.
그렇기 때문에 Getter , Setter 메소드를 활용하여 필드에 직접적인 접근 대신 간접적으로 접근을 해야만 합니다.
Getter
Get 이라는 이름에 맞게 말 그대로 데이터를 Get 하는 역할의 메소드 입니다.
private int number;
public int getNumber(){
}
위 코드처럼 필드값은 private 으로 선언 하고 아래에 있는 Getter 의 경우 처음 get은 소문자로 그 이후의 이름은 카멜 스타일로 만들어줘야 하며
boolean 타입의 getther 의 경우 get 이 아닌 is로 만들어 주는것 이 개발자간의 약속입니다.
private boolean check
public void isCheck(){
}
Setther
Set 또한 이름에 걸 맞게 Set 즉 무언가를 셋팅 한다는 의미를 가지며 필드값을 세팅 또는 저장할때 사용하는 메소드 입니다.
private int number;
public void setNumber(int number){
this.number = number;
}
위 코드는 매개변수로 들어온 number 의 값을 그대로 필드값에 세팅을 해주는 setther 메소드 입니다.
boolean 타입의 set 의 경우는 get 와 다르게 똑같이 set을 사용해줍니다.
private boolean check
public void setCheck(){
}
Example
다음은 이것이 자바다 개정판 의 예제소스 입니다.
package ch06.sec14;
public class Car {
private int speed;
private boolean stop;
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
if(speed < 0) {
this.speed = 0;
return;
}else {
this.speed = speed;
}
}
public boolean isStop() {
return stop;
}
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.setSpeed(-50);
System.out.println("현제속도 : "+myCar.getSpeed());
// 올바른 속도 지정
myCar.setSpeed(50);
System.out.println("현제속도 : "+myCar.getSpeed());
//멈춤
if(!myCar.isStop()) {
myCar.setStop(true);
}
System.out.println("현제속도 : "+myCar.getSpeed());
}
}
위처럼 Car 객체에서 필드값과 setter 와 getter 를 선언해준뒤 CarExample 이라는 실행 메소드에서 사용하는 모습입니다.
'개발 언어 > JAVA' 카테고리의 다른 글
Java 접근제한자 (0) | 2023.01.29 |
---|---|
++ , -- 증감 연산자의 앞뒤 차이 (0) | 2023.01.29 |
자바 text 은행 만들기 (0) | 2023.01.29 |
자바 짝수의 합 (0) | 2023.01.29 |
자바 개행문자 \n 치환 방법 (0) | 2023.01.29 |