반응형

정보은닉이란 '클래스의 인스턴스 변수'를 '숨긴다는 것'을 의미한다.

 

인스턴스 변수의 직접적인 접근을 허용시 컴파일 오류 또는 컴파일은 정상적으로 되지만 실행결과가 옳지않게 나올수 있다.  따라서 인스턴스 변수를 메소드를 통해서 접근할 수 있도록 하는 것이 정보은닉의 역할이다.

 

클래스를 대상으로 정보은닉하는 방법은 인스턴스 변수 앞에 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;
	}

}
반응형

+ Recent posts