티스토리 뷰

Java

private 멤버 변수를 사용하는 이유

아론파크 2018. 10. 14. 02:34

 나는 예전에 자바를 배울 때부터  private 멤버 변수를 사용하는 이유를

이해하지 못했었다

   왜냐면 어짜피 set메서드를 사용해서 값을 설정해준다면

 그냥 public 변수에 직접 값을 설정해주는 것과 별반 차이가 없다고 생각했기 떄문이다

그런데, 최근에 수업을 통해 이유를 깨닫게 되었다 ㅎㅎㅎ

그건 바로 멤버 변수에 값을 설정해줄 때 조건을 걸어줄 수 있기 때문이었다

예를 들어, 밑의 예제 코드를 보자.

public String ar 을 사용했을 때는 메인 함수에서 vo.ar = "tt"; 처럼

바로 입력을 해줄 수 있다

하지만, ar 이 무조건 세 자리 이상의 string 이 되어야 하는 상황이라고 가정하면

조건을 걸어야 되는데, public 일 때는 조건을 걸기가 쉽지 않다

반면, private 와 set메서드를 사용하게 되면

set메서드 안에서 조건을 걸어 입력받는게 가능해지므로

누군가가 데이터를 아무렇게나 변경하거나 하는 것을 제한할 수 있게 된다.

 

 

public class VOS {
    
    public String ar;
    // private String ar;
 
    public String getAr() {
        return ar;
    }
 
    public void setAr(String a) {

  // if (a.length >= 3) 

        this.ar = ar;
    }
        
}
 
public class Main {
    public static void main(String[] args) {
        
        VOS vo = new VOS();
        vo.ar = "tt"; 
  // vo.setAr("tt");
    
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함