자료구조/예제/1장 추상 데이터 타입과 객체지향 방법
Jump to navigation
Jump to search
1.1 Java 입문
프로그램 1.1 Java 프로그램
package ds.ch01;
public class JavaOne {
static int count = 1;
public static void main(String[] args) {
System.out.println("The count is " + count);
}
}
프로그램 1.2 메소드 정의와 호출의 예
package ds.ch01;
public class MinTest {
public static void main(String[] args) {
int a = 3;
int b = 7;
System.out.println(min(a, b));
}
public static int min(int x, int y) {
return x < y ? x : y;
}
}
1.1.2.4 매개변수 전달
package ds.ch01;
public class Test {
public int value;
static void callByValueTest() {
int i = 99;
System.out.println("before : i = " + i);
changeValue(i);
System.out.println(" after : i = " + i);
}
static void changeValue(int j) {
j = 88;
}
static void callByReferenceTest() {
Test t = new Test();
t.value = 99;
System.out.println("before : i = " + t.value);
changeValue(t);
System.out.println(" after : i = " + t.value);
}
static void changeValue(Test j) {
j.value = 88;
}
public static void main(String[] args) {
callByValueTest();
callByReferenceTest();
}
}
실행결과
before : i = 99
after : i = 99
before : i = 99
after : i = 88
프로그램 1.3 생성자와 equals(), toString()을 포함하고 있는 Date 클래스
package ds.ch01;
public class Date {
private int month;
private int day;
private int year;
public Date() {
month = 1;
day = 1;
year = 2022;
}
public Date(int month, int day, int year) {
this.month = month;
this.day = day;
this.year = year;
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Date))
return false;
Date d = (Date)obj;
return d.month == month && d.day == day && d.year == year;
}
@Override
public String toString() {
return month + "/" + day + "/" + year;
}
public static void main(String[] args) {
Date date1 = new Date();
Date date2 = new Date(1, 1, 2022);
System.out.println(date1);
System.out.println(date1);
System.out.println(date1 == date2);
System.out.println(date1.equals(date2));
}
}
실행결과
1/1/2022
1/1/2022
false
true