728x90
//--------------------------------------------------------------------------
// 하나의 소스파일(*.java)에는 public 클래스가 단 하나만 존재할 수 있으며,
// 소스 파일의 이름은 반드시 public 클래스의 이름과 같아야 한다.
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// class Time
//--------------------------------------------------------------------------
class Time {
private int hour; // 시
private int minute; // 분
private int second; // 초
Time(int hour, int minute, int second) {
// this.hour = hour;
setHour(hour);
setMinute(minute);
setSecond(second);
}
public int getHour() { // 시간을 알아내는 메서드, 매개변수가 없고 리턴값이 있다.
return hour;
}
public void setHour(int hour) { // 시간을 변경하는 메서드, 매개변수가 있고 리턴값이 없다.
// 시간의 범위(0 ~ 23)를 초과하는 값이 들어온다면
if(hour < 0 || hour > 23) return;
this.hour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
if(minute < 0 || minute > 59) return;
this.minute = minute;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {
if(second < 0 || second > 59) return;
this.second = second;
}
@Override // 컴파일될 때 컴퓨터한테 오버라이딩 된거라고 알려주는 것
public String toString() {
return "Time [hour=" + hour + ", minute=" + minute + ", second=" + second + "]";
} // 이것을 안해주면 출력할 때 주소값이 뜬다.
} // End - class Time
//--------------------------------------------------------------------------
// public class TimeExam
//--------------------------------------------------------------------------
public class TimeExam {
public static void main(String[] args) {
Time t = new Time(12, 40, 51);
t.setMinute(t.getMinute() - 3); // 현재 분보다 뒤로 3분 돌린다.
System.out.println(t);
}
} // End - public class TimeExam
// 출력 결과
Time [hour=12, minute=37, second=51]
'Language > Java' 카테고리의 다른 글
[Java] 실습 (frame) (0) | 2022.08.16 |
---|---|
[Java] 실습 (여러 종류의 객체를 하나의 배열로 사용하기) (0) | 2022.08.16 |
[Java] 정리 (상속(inheritance)) (0) | 2022.08.12 |
[Java] 실습 (단일 상속) (0) | 2022.08.12 |
[Java] 실습 (this, super) (0) | 2022.08.12 |