// main
package testPjt3;
public class MainClass {
public static void main(String[] args) {
// 객체의 아규먼트의 속성이 private이므로 처음 설정한 후 수정 불가
Student student1 = new Student("홍길동", 90);
student1.getIn();
}
}
//student
package testPjt3;
public class Student {
// 이렇게 public이 아닌 private으로 설정함으로서 처음 객체가 만들어 진 후 수정할 수 없게 막을 수 있음
private String name;
private int score;
public Student(String n, int s) {
this.name = n;
this.score = s;
}
public void getIn() {
System.out.println("-- getInfo()");
System.out.println("name : " + name);
System.out.println("score : " + score);
}
}
위의 경우에 속성을 private으로 선언했기 때문에 수정이 필요한 경우 수정할 수 없다.
setter, getter
getter
setter
// 위의 코드에 getter, setter 추가
package testPjt3;
public class Student {
private String name;
private int score;
public Student(String n, int s) {
this.name = n;
this.score = s;
}
public void getIn() {
System.out.println("-- getInfo()");
System.out.println("name : " + name);
System.out.println("score : " + score);
}
// 이하 getter setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
// main
package testPjt3;
public class MainClass {
public static void main(String[] args) {
Student student1 = new Student("홍길동", 90);
student1.getIn();
// 메서드로 사용해서 속성 데이터를 수정 가능
student1.setScore(100);
}
}
// 이런식으로 특정 상황에만 동작하도록 만들 수 있음
public void setScore(int score) {
if (score > 50) {
this.score = score;
}
}