객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는데, 이를 해결하기 위해 메소드를 사용한다.
- 게터 : 필드의 값을 반환
- 세터 : 필드를 초기화
- 커스텀 메소드 : 필드를 사용해 기능 구현, 원하는 결과 산출
package pack_GetSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("이름, 번호, 개수 순서대로 입력 : ");
String name = scanner.next();
double num1 = scanner.nextDouble();
int cnt = scanner.nextInt();
scanner.close();
FieldData fieldData = new FieldData();
fieldData.setName(name);
// fieldData.setName(""); //의도적으로 공백 전달
fieldData.setNum1(num1);
fieldData.setCnt(cnt);
System.out.println("name : " + fieldData.getName());
System.out.println("num1 : " + fieldData.getNum1());
System.out.println("cnt : " + fieldData.getCnt());
}
}
package pack_GetSet;
public class FieldData {
private String name;
private double num1;
private int cnt;
//초기화 세터 / 반환 게터
//alt shift s r
public void setName(String name) {
if (name.equals("")) {
System.out.println("공백 불가능");
System.exit(1); //문제 있을 때 1
} else {
this.name = name;
}
}
public void setNum1(double num1) {
this.num1 = num1;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
public String getName() {
return name;
}
public double getNum1() {
return num1;
}
public int getCnt() {
return cnt;
}
}