본문 바로가기

WebStudy/JAVA

접근지정자 및 get/set 매소드를 이용하는 이유

알다 싶히 접근지정자를 이용해 다른 클래스 또는 패키지에서의 변수에 대한 접근을 제한할 수 있다.

 

public, private,protected, default 등..

 

 

private 으로 접근이 제한된 변수의 값을 변경하기 위해 getter, setter 매소드를 이용하는데..

 

그러면 그냥 public을 이용해서 변수에 접근하는게 간단하지 않은가?? 라는 의문점을 가지고 있었다.

 

 

 

질문을 해보니 private 으로 접근제한ㅇ르 주고 getter/ setter를 사용하면 잘못된 값이 들어오지 못하게

 

매소드 내에서 기능을 추가 할 수 있기 때문에 유용한 것이었다.

 

String name 이라는 변수가 있고, 접근 제한자를 private 으로 주었을때.

 

Class 내에 선언한 name 변수에 값을 넣을 때 "1" 을 넣을 수도 있다.

 

문법적으로는 오류가 없지만 논리적으로 생각했을 때, 잘못 된 경우라는 것이다.

 

이럴때 setName(String name) 매소드를 사용하고, 매소드 내부에 유효성 검사 ( ex : 숫자는 제외) 를 하게 되면

 

잘못된 값이 입력되는 것을 방지 할 수 있다.

 

 

 

'WebStudy > JAVA' 카테고리의 다른 글

BigInteger  (0) 2015.06.05
StringTokenizer  (0) 2015.06.05
Network 네트워크 - server <-> client  (0) 2015.06.04
Network 네트워크 들어가기 전 토막 상식 - 0  (0) 2015.06.04
특수문자 공백 체크. Pattern, Matcher  (0) 2015.06.03