
| 메소드 | 용도 |
|---|---|
| boolean equals(Object ob) | 객체의 번지를 비교하고 결과를 리턴 |
| int hashCode() | 객체의 해시코드를 리턴 |
| String toString() | 객체 문자 정보를 리턴 |
public boolean equals(Object obj)
public class Member {
public String id;
public Member(String id) {
this.id = id;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Member target) {
if(id.equals(target.id)){
return true;
}
}
return false;
}
}
public class MemberExample {
public static void main(String[] args) {
Member obj1 = new Member("blue");
Member obj2 = new Member("blue");
Member obj3 = new Member("red");
if(obj1.equals(obj2)) {
System.out.println("obj1과 obj2는 동등합니다.");
}else {
System.out.println("obj1과 obj2는 동등하지 않습니다.");
}
if(obj1.equals(obj3)) {
System.out.println("obj1과 obj3은 동등합니다.");
}else {
System.out.println("obj1과 obj3은 동등하지 않습니다.");
}
}
} //obj1과 obj2는 동등, obj1과 ojb3은 동등하지 않음
public int hashCode()
public record Member(String id, String name, int age) {
}
public class RecordExmaple {
public static void main(String[] args) {
Member m = new Member("Winter", "눈송이" , 25);
System.out.println(m.id());
System.out.println(m.name());
System.out.println(m.age());
System.out.println(m.toString());
System.out.println();
Member m1 = new Member("winter", "눈송이", 25);
Member m2 = new Member("winter", "눈송이", 25);
System.out.println("m1.hashCode() : " + m1.hashCode());
System.out.println("m2.hashCode() : " + m1.hashCode());
System.out.println("m1.equals(m2): " + m1.equals(m2));
}
}


int keyCode = System.in.read();

public class IntExample {
public static void main(String[] args) throws Exception {
int speed = 0;
int keyCode = 0;
while (true) {
//Enter 키를 읽지 않았을 경우에만 실행
if (keyCode != 13 && keyCode != 10) {
if (keyCode == 49) {
speed++;
} else if (keyCode == 50) {
speed--;
} else if (keyCode == 51) {
break;
}
System.out.println("----------------------------");
System.out.println("1. 증속 | 2. 감속 | 3. 중지");
System.out.println("----------------------------");
System.out.println("현재 속도 = " + speed);
System.out.println("선택 : ");
}
//키를 하나씩 읽음
keyCode = System.in.read();
}
System.out.println("프로그램 종료");
}
}
| 클래스 | 설명 |
|---|---|
| String | 문자열을 저장하고 조작할 때 사용 |
| StringBuilder | 효율적인 문자열 조작 기능이 필요할 때 사용 |
| StringTokenizer | 구분자로 연결된 문자열을 분리할 때 사용 |
Integer obj = 100; // 박싱
int value = obj; // 언박싱
int value = obj + 50; //언박싱 후 연산

| Format 클래스 | 설명 |
|---|---|
| DecimalFormat | 숫자를 형식화된 문자열로 변환 |
| SimpleDateFormat | 날짜를 형식화된 문자열로 변환 |



(02|010)-\d{3,4}-\d{4} // 02 -123-1234 , 010-1234-5678 전화번호 정규 표현식
\w+@\w+\.\w+(\.\w+)? // white@naver.com 이메일 정규 표현식
boolean result = pattern.matches("정규식", "검증할 문자열");
| 메소드 | 용도 |
|---|---|
| Package getPackage() | 패키지 정보 읽기 |
| String getSimpleName() | 패키지를 제외한 타입 이름 |
| String getName() | 패키지를 포함한 전체 타입 이름 |
| 메소드 | 용도 |
|---|---|
| Constructor[]getDeclaredConstructors() | 생성자 정보 읽기 |
| Field[]getDeclaredFields() | 필드 정보 읽기 |
| Method[]getDeclaredMethods() | 메소드 정보 읽기 |
public @interface AnnotationName {
}


@Target( { ElementType.TYPE, ElementType.FIELD, ElementType.METHOD } )
@Retention( RetentionPolicy.RUNTIME )
public @interface AnnotationName {
}

@Override
public boolean equals(Object obj){
if(obj instanceof Student){
Student student=(Student)obj;
if(studentNum.equals(student.getStudentNum())){
return true;
}
}
return false;
}
@Override
public int hashCode(){
return studentNum.hashCode();
}
@Override
public String toString(){
return id+": "+name;
}
public class Example {
public static void main(String[] args) {
long start = System.nanoTime();
int[] scores = new int[1000];
for (int i = 0; i < scores.length; i++) {
scores[i] = i;
}
int sum = 0;
for (int score : scores) {
sum += score;
}
double avg = sum / scores.length;
System.out.println(avg);
long end = System.nanoTime();
System.out.println((end - start) + "ns");
}
}
public class StringBuilderExample {
public static void main(String[] args) {
String str = "";
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 100; i++) {
sb.append(i);
}
str = sb.toString();
System.out.println(str);
}
}
public class StringTokenizerExample {
public static void main(String[] args) {
String str = "아이디,이름,패스워드";
StringTokenizer st = new StringTokenizer(str, ",");
while (st.hasMoreTokens()) {
String token = st.nextToken();
System.out.println(token);
}
}
}
public class IntegerCompareExample {
public static void main(String[] args) {
Integer obj1 = 100;
Integer obj2 = 100;
Integer obj3 = 300;
Integer obj4 = 300;
System.out.println(obj1.equals(obj2));
System.out.println(obj3.equals(obj4));
}
}
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
public class Example {
public static void main(String[] args) {
LocalDateTime startDateTime = LocalDateTime.now();
LocalDateTime endDateTime = LocalDateTime.of(startDateTime.getYear(), 12, 31, 0, 0, 0);
long remainDay = startDateTime.until(endDateTime, ChronoUnit.DAYS);
System.out.println("남은 일자: " + remainDay);
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일 HH시 mm분");
System.out.println(sdf.format(now));
}
}