카테고리 없음
getter 와 setter
sangwoon
2022. 7. 7. 23:39
getter와 setter
get: 값을 얻는다.
set: 값을 변경한다.
정말 쉽다 하하핳
하지만 그럼 코드에서는 어떻게 적용해야 하지? 하는 곤란한 상황이 올 것이다.
그럼 먼저 간단한 생성자를 생성해 보자!
간단한 예시 생성자
public class User{
String name;
int age;
String hobby;
//생성자는 class의 이름과 동일해야한다.
public User(String _name, int _age, String _hobby) {
this.name = _name; //this는 클래스를 가르킨다!!
this.age = _age;
this.hobby = _hobby;
} // 객체를 만들어줄 클래스라는 툴을 만들었다!!
public static void main(String[] args){ //main 함수
User user = new User("임상운",19,"농구");
System.out.println(user.name); //임상운 출력
}
}
예시로 작성한 생성자를 보면
public User(String _name, int _age, String _hobby){}
파라미터 값을 받는다 _name 그리고 _age 그리고 _hobby를 받는다
그 후 클래스 내부에 있는 맴버 변수들에 그 값을 전달한다.
그래서
main 함수에서
public static void main(String[] args){ //main 함수
User user = new User("임상운",19,"농구");
System.out.println(user.name); //임상운 출력
}
이런식으로 해서 출력할 수 있는 것이다.
근데 저런 생성자 말고 getter와 setter로도 아주 야무지게 사용할 수 있는데 예시를 보자
getter와 setter를 사용한 예시
package test1;
public class User{
String name;
int age;
String hobby;
public User() {}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public static void main(String[] args){ //main 함수
User user = new User();
user.setName("임상운");
System.out.println(user.getName()); //임상운 출력
}
}
뭔가 싶을 수 있지만 조금만 자세히 보면 답이 나온다.
Name 변수를 가지고 살펴보도록 하자
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
일단 get 아까 말한데로 값을 가지고 온다.(값을 반환해준다.)
그리고 set 값을 변경도 해주고 그냥 넣어준다.
그래서 우린 메인 함수에서
User user = new User();
user.setName("임상운");
System.out.println(user.getName()); // 임상운 출력
이렇게 setName으로 값을 지정해 주고
getName으로 값을 반환해주며 출력할 수 있는 것이다!!
그냥 중요한 개념중에 하나다. 알면 좋다.
알면 나중에 android stdio에 recycler view를 사용할 때 유용하게 사용할 수 있으니 숙지하면 좋다.