본문 바로가기
Programming Language/Java

[자바] 정보 은닉

by ggyongi 2021. 10. 22.
반응형
접근 제어자 설명
public 외부 클래스 어디에서나 접근
protected 같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 있고 그 외 클래스에서는 접근 불가
아무것도 없는 경우 default이며 같은 패키지 내부에서만 접근 가능
private 같은 클래스 내부에서만 접근

 

정보 은닉

클래스 내부에서 사용할 변수나 메서드를 private로 선언해서 외부 접근을 차단

 

사용 이유

외부 클래스에서 접근이 자유로울 시 값을 마음대로 넣게 되어 정보 오류가 발생할 수 있기 때문

 

사용 방법

get(), set()을 이용해 클래스 내부의 public 메서드를 통해서만 값에 접근할 수 있도록 함

 

package first_project;

public class Person {
	private int age;

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		if(age < 20) {
			System.out.println("미성년자입니다.");
			this.age = -1;
			
		}else {
			System.out.println("성인입니다.");
			this.age = age;	
		}
		
	}
	
	
}

  

package first_project;

public class Hellojava {

	public static void main(String[] args) {

		Person person = new Person();
		person.setAge(19);
		System.out.println(person.getAge());
		
		Person person2 = new Person();
		person2.setAge(27);
		System.out.println(person2.getAge());
	}

}
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글