기본 클래스 안에는 크게 2가지 구성 요소가 있습니다. 바로, 메소드와 필드입니다.
아래는 보시면 기본적인 클래스 형식의 예입니다.
public class Human {
public static final int humanUniqId = 1
String name; //필드(field)
int age;
void move(){ // 메서드(method)
}
void study(){
}
}
static int humanUniqId
⇒ 모든 Human 객체에 공통으로 적용되는 유일한 ID 번호 생성기입니다.
String name
⇒ 사람의 이름을 저장하는 변수입니다.
void move()
사람이 이동하는 행동을 나타내는 메서드입니다.
/**
* 사람을 나타내는 클래스입니다.
* 이름과 나이를 속성으로 가지며, 이동하고 공부할 수 있습니다.
* getter, setter를 통해 필드에 접근합니다.
*/
public class Human {
// 유일 ID (클래스 변수, 외부에서 직접 접근 불가)
private static int humanUniqId = 1;
// 인스턴스 변수들 (외부에서 직접 접근 불가)
private String name;
private int age;
// 이동 메서드
public void move() {
System.out.println(name + "이(가) 이동합니다.");
}
// 공부 메서드
public void study() {
System.out.println(name + "이(가) 공부합니다.");
}
// -------- Getter & Setter -------- //
/**
* 이름을 반환합니다.
* @return 현재 이름
*/
public String getName() {
return name;
}
/**
* 이름을 설정합니다.
* @param name 설정할 이름
*/
public void setName(String name) {
this.name = name;
}
/**
* 나이를 반환합니다.
* @return 현재 나이
*/
public int getAge() {
return age;
}
/**
* 나이를 설정합니다.
* @param age 설정할 나이
*/
public void setAge(int age) {
if (age >= 0) {
this.age = age;
} else {
System.out.println("나이는 0 이상이어야 합니다.");
}
}
/**
* 유일 ID 생성 값을 가져옵니다.
* @return 유일 ID
*/
public static int getHumanUniqId() {
return humanUniqId;
}
/**
* 유일 ID 값을 설정합니다.
* @param id 설정할 ID
*/
public static void setHumanUniqId(int id) {
if (id > 0) {
humanUniqId = id;
}
}
}