반응형
정보은닉이란 '클래스의 인스턴스 변수'를 '숨긴다는 것'을 의미한다.
인스턴스 변수의 직접적인 접근을 허용시 컴파일 오류 또는 컴파일은 정상적으로 되지만 실행결과가 옳지않게 나올수 있다. 따라서 인스턴스 변수를 메소드를 통해서 접근할 수 있도록 하는 것이 정보은닉의 역할이다.
클래스를 대상으로 정보은닉하는 방법은 인스턴스 변수 앞에 private 선언을 추가해주면 된다. private선언시 선언된 변수는 클래스 내부에 정의된 메소드 내에서의 접근만 허용한다. 즉 private가 선언된 변수가 포함된 클래스 외부에서 접근시 오류가 발생한다는것이다.
게터(Getter)
- 인스턴스 변수의 값을 참조(변수에 저장된 값을 가져오는 것)하기 위한 용도로 정의된 메소드
- 메소드의 이름은 변수의 이름앞에 get을 붙이는 것이 관례이다.
ex) 변수이름 apple라면 메소드 이름은 getApple로 짓는다.
세터(Setter)
- 인스턴스 변수의 값을 설정하기 위한 용도로 정의된 메소드
- 메소드의 이름은 변수의 이름앞에 set을 붙이는 것이 관례이다.
ex) 변수이름 apple라면 메소드 이름은 setApple로 짓는다.
class Result {
private String apple;
public Result(String color) { //생성자
this.setApple(color);
}
public String getApple() { //게터
return apple;
}
public void setApple(String apple) { //세터
this.apple = apple;
}
}
반응형
'프로그래밍언어 > Java' 카테고리의 다른 글
클래스 변수 & 클래스 메소드 (0) | 2019.07.15 |
---|---|
접근수준지시자(public, private, protected, default) (0) | 2019.07.13 |
패키지와 클래스패스 / import (0) | 2019.07.12 |
클래스(Class), 생성자(Constructor), 인스턴스(Instance)란? (0) | 2019.07.12 |
변수(Variable)의 영역, 범위(Scope ) (0) | 2019.07.10 |