개발의 시작과 끝
2020.05.03 / Day - 21 자바 8~10일차 복습 본문
21일차
8일 - 래퍼런스 변수, 인스턴스 메서드, 매개변수, 리턴
래퍼런스 변수
자동차 a자동차
> 자동차 리모컨을 저장할 수 있는 변수 'a자동차'
여기서 리모컨을 전문 용어로 '래퍼런스 변수'라고 한다.
인스턴스 메서드
객체를 생성해야만 호출할 수 있는 메서드이다.
거북이 a거북이 = new 거북이();
a거북이.걷다();
매개변수
인자를 받는 변수
void 계산(int a) {
System.out.println(a);
}
리턴
값을 변환하여 돌려주는 함수
int 더하기(int a, int b) {
return a + b;
}
void를 쓰지 않고 타입을 쓴다.
9일 - 객체에 편리한 함수 넣어두기
class Main {
public static void main(String[] args) {
ScheduleItem scheduleItem1 = new ScheduleItem();
scheduleItem1.name = "soccer";
scheduleItem1.year = 2020;
scheduleItem1.month = 5;
scheduleItem1.day = 11;
ScheduleItem scheduleItem2 = new ScheduleItem();
scheduleItem2.name = "soccer";
scheduleItem2.year = 2020;
scheduleItem2.month = 5;
scheduleItem2.day = 11;
System.out.println("== isEarlierThan(v1) ==");
if ( scheduleItem1.isEarlierThan(scheduleItem2) ) {
System.out.println("스케줄 아이템 1이 2 보다 빠릅니다.");
}
else {
System.out.println("스케줄 아이템 1이 2 보다 빠르지 않습니다.");
}
System.out.println("== isEarlierThan(v2) ==");
if ( scheduleItem1.isEarlierThanV2(scheduleItem2) ) {
System.out.println("스케줄 아이템 1이 2 보다 빠릅니다.");
}
else {
System.out.println("스케줄 아이템 1이 2 보다 빠르지 않습니다.");
}
}
}
class ScheduleItem {
String name;
int year;
int month;
int day;
boolean isEarlierThan(ScheduleItem other) {
if ( this.year < other.year ) {
return true;
}
else if ( this.year > other.year ) {
return false;
}
if ( this.month < other.month ) {
return true;
}
else if ( this.month > other.month ) {
return false;
}
if ( this.day < other.day ) {
return true;
}
else if ( this.day > other.day ) {
return false;
}
if ( this.name.compareTo(other.name) < 0 ) {
return true;
}
else {
return false;
}
}
boolean isEarlierThanV2(ScheduleItem other) {
String thisStr = "" + this.year + this.month + this.day + this.name;
String otherStr = "" + other.year + other.month + other.day + other.name;
return thisStr.compareTo(otherStr) < 0;
}
}
10일 - 상속
오리 a오리 = new 오리();
흰오리 a흰오리 = new 흰오리();
a흰오리.날다();
class 오리 {
void 날다() {
System.out.println("오리가 날개로 날아갑니다.");
}
}
class 흰오리 extends오리 {
}
extends를 통해 상위클래스로부터 하위클래스가 상속을 받을 수 있으며
상속을 받으면 상위클래스에 있는 메서드를 그대로 물려받게 된다.
단, 다중상속은 불가능하다.
'풀스택 > 자바 공부, 복습' 카테고리의 다른 글
2020.05.05 / Day - 23 자바 Calendar (0) | 2020.05.05 |
---|---|
2020.05.03 / Day - 21 자바 11~15일차 복습 (0) | 2020.05.03 |
2020.05.01 / Day - 20 자바 6~7일차 복습 (0) | 2020.05.01 |
2020.05.01 / Day - 20 format 출력 형식 (0) | 2020.05.01 |
2020.04.30 / Day - 19 자바 반복문 복습 (0) | 2020.04.30 |