Develop/JAVA

JAVA 데이터 은닉

roalwh 2023. 10. 21. 18:52

 

// 데이터 은닉
//객체가 가지고 있는 데이터를 외부로 부터 변질되지 않게 보호한다..
//속성은 주로 private으로 설정하여 외부로부터 데이터가 변질되는것을 막음
//Getters, Setters 맴버 변수를 외부에서 변경할 수 있도록 하는 매서드
//Getters or Setters 필요에의해 사용한다. 필요없을 시에는 선언안해도됨

//MainClass.java

public class MainClass {

	public static void main(String[] args) {
		
		Student student1 = new Student("홍길동", 90);
		student1.getInfo();
		
		student1.setScore(100);
		student1.getInfo();
		
		
		
	}
}
 
 
//Student.java

public class Student {
	
	//private로 선언하여 외부로부터 데이터가 변질되지않게 한다.
	private String name;
	private int score;
	
	public Student(String n, int s) {
		
		this.name = n;
		this.score = s;
	}
	
	public void getInfo() {
		System.out.println(" --- getInfo() ---");
		System.out.println(" name : "+name);
		System.out.println(" score : "+ score);
		
	}

	//마우스 우클릭->Source->Generate Getters and Setters..->자동생성
	//Getters or Setters 필요에의해 사용한다. 필요없을 시에는 선언안해도됨
	//Getters
	public String getName() {	//속성의 값을 리턴받음
		return name;
	}
	//Setters
	public void setName(String name) {	//속성의 값을 입력
		this.name = name;
	}

	public int getScore() {
		return score;
	}

	/*public void setScore(int score) {
		this.score = score;
	}*/
	
	//score 값이 50 이상인 경우만 입력
	public void setScore(int score) {
		if(score < 50)
			this.score=score;
	}
	
}
 

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

Stream  (0) 2023.12.18
JAVA 예외처리  (0) 2023.10.21
JAVA 객체 패키지와 static  (0) 2023.10.21
JAVA 객체 생성자 소멸자 this키워드  (0) 2023.10.21
JAVA 객체와 메모리(레퍼넌스)  (0) 2023.10.21