[JAVA] Getter, Setter에 대해

Juyun·2022년 7월 15일
1

java

목록 보기
1/1

처음 자바를 배울 때 솔직히 getter과 setter의 정확한 용도를 몰랐다.
왜 이미 선언한 변수를 다시 getter로 this.변수=변수 이런식으로 설정해주지? 왜 setter을 이용해서 굳이 다시한번 return 해주지? 이런 의문이 있었던 것 같다.

  • getter : 외부에서 받아온 데이터를 적절하게 리턴하는 역할
  • setter : 외부에서 받아온 데이터를 적절하게 가공하는 역할

정도로 간단하게 알고 있었는데 이번에 공부하며 정말 getter과 setter의 역할을 확실히 알게된 것 같다.

우선 private과 public에 대해 알아보자

Priavate과 Public

private은 말그대로 외부에 유출되면 안되는 변수나 클래스를 선언할 때 사용된다. 그냥 public으로 쓰면 클래스 외부에서도 언제든 변수나 값을 수정할 수 있다.

잔액이나, 주문정보 등 중요한 개인정보는 클래스 외부에서 함부로 접근하거나 수정하면 안되기 때문에 반드시 정해진 방법으로만 접근해야 하는데 이 때 사용하는 것이 Setter이다.

예를 들어 계좌번호를 저장하는 bank 클래스를 작성한다고 하자.

Setter은 변수를 선언한 클래스 안에 작성한다. 기본틀은 아래와 같다.

public class Bank{

   	private String account;
       
    public void setAccount(String account){
       this.account=account;
    }
}

public void set변수명(첫글자는 대문자) (변수)
{ this.변수=변수}
이런식으로 작성된다.

마찬가지로 private한 클래스나 변수를 외부 클래스에서 조회하려면 Getter를 사용해야한다.

public String getAccount(){
	return this.account;
   }

외부 클래스에서 private 변수를 수정하거나 지정하려면 먼저 클래스를 선언해주고 set을 이용하고, 조회할 때는 get을 이용하면 된다.

public static viod main(String[] args){
	Bank hanabank = new Bank();
    String account1="1234-567";
    
   	bank.setAccount(account1);//hanabank의 계좌번호를 account1으로 수정
    
    System.out.println(hanabank.getAccount()); //hanabank의 account 정보를 출력
    }
profile
주저없이 배워가기

0개의 댓글