본문 바로가기
JAVA

26. GETTER / SETTER

by NamGH 2023. 8. 2.

getter와 setter를 쓰는 이유는 주로 정보 은닉때문이다

setter와 getter를 쓰게된다면

아래의 코드를 기준으로

p1.name = "윤아"; 이런방식으로는 private 방식이기 때문에 읽어오지를 못한다 이경우 getter와 setter을 이용해 가져온다


class Person2{
private String name;
private int age;
private double height;
void setName(String name) { 
this.name = name; 
}
void setName(int age) {
this.age = age;
}

 

void setHeight(double height) {
this.height = height;
}
 
String getName(){ // getter메서드 값을 메인 메서드로 가지고 들어감(return)
return name; // 변수가없으므로 this 안붙임 써도 상관x
}
 
int getAge(){
return age;
}
 
double getHeight(){
return height;
}
}
public class Ex16_setter_getter {
public static void main(String[] args) {
Person2 p1 = new Person2();
p1.setName("윤아");
p1.setName(30);
p1.setHeight(162.3);
 
System.out.println(p1.getName());
System.out.println(p1.getAge());
System.out.println(p1.getHeight());
}
}

setter에서 this를 붙여주는 이유는 위에 맴버변수에 name이 있기때문에 중복이 되기때문에 구분을 하기우해서 this를 붙여준다 getter의 경우 아무런 변수가 없으므로 this를 쓰지는 않지만 굳이 쓰더라도 오류가 걸리지는 않는다

getter에서는 메인 메서드로 값을 가지고 가는 역할을 한다 메인 메서드에서는 객체 생성을 한뒤 

p1.setName("윤아"); 이처럼 값들을 타입에 맞게 알맞게 넣은뒤 출력을 시켜주면 제대로 출력되는것을 확인할 수 있다

'JAVA' 카테고리의 다른 글

28. 객체배열  (0) 2023.08.03
27. 생성자  (0) 2023.08.03
25. 오버로딩  (0) 2023.08.02
24. 재귀호출 거듭제곱  (0) 2023.08.02
23. 재귀호출 펙토리얼  (0) 2023.08.02