생활코딩님의 Java입문강의를 통해 클래스의 내용을 한번 훑었어서 이해하는데 쉬웠다.
변수의 자료형은 기본 자료형(int, long, float, double 등)과 참조 자료형(String, Date, Student 등)으로 나뉜다.
소문자와 대문자로 기억하면 조금은 쉬울 것 같다.
매서드의 return 값이 있다면 그 값에 알맞는 자료형을 메서드 앞에 써줘야 한다. 만약 반환값이 없다면 void
클래스를 통해 인스턴스를 만들고 싶으면 new 예약어를 통해 만들기.
생성자는 그 클래스의 이름으로 자동 생성된다. 따로 생성자를 만들었을 경우에는 디폴트 생성자를 추가해줘야 한다.
private으로 변수를 선언하면 그 변수를 바꿀때에는 get(), set() 메서드를 통해 바꿔야 한다.
보통 private를 선언할 때에는 정보의 오류를 방지하기 위해 사용한다. - 정보은닉
public void setDay(int day) {
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
if (day < 0 || day > 31) {
isValid = false;
}
else {
this.day = day;
}
break;
case 4: case 6: case 9: case 11:
if (day < 0 || day > 30) {
isValid = false;
}
else {
this.day = day;
}
break;
case 2:
if (( ( year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0)){ //윤년인 경우
if (day <0 || day >29) {
isValid = false;
}
else {
this.day = day;
}
}
else {
if (day < 0 || day > 28) {
isValid = false;
}
else {
this.day = day;
}
}
break;
default:
isValid = false;
}
}
월별로 날짜가 알맞게 들어갔는지 확인하는 코드이다. 처음에 case를 생각못하고 &&연산자를 이용해 가로 스크롤 넘어서 작성하였는데, case 구문을 보고 다시 수정하였다.
윤년 구하는 계산은 "연도를 4로 나눴을 때 나머지가 0 인 것(year % 4 == 0)" 만 넣어도 될 것 같은데 그 뒤의 공식은 왜 들어갔는지 생각해보고 찾아볼 것!
'멋진 개발자' 카테고리의 다른 글
Do it! 자바 프로그래밍 입문 - 배열 (0) | 2023.03.02 |
---|---|
Do it! 자바 프로그래밍 입문 - 클래스와 객체2 (0) | 2023.02.25 |
Javascript 즉석 밴드 만들기 (0) | 2023.02.21 |
Java 입문강의 - 클래스패스, 패키지 (0) | 2023.02.20 |
Java 입문 강의 - 기초부터 Overloading 까지 (0) | 2023.02.20 |