카테고리 없음

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를 사용할 때 유용하게 사용할 수 있으니 숙지하면 좋다.