본문 바로가기
JAVA/JAVA복습(멘토씨리즈 자바)

[JAVA복습] 15. 기본 API 클래스

by ssunooo 2024. 7. 27.

 

 

1. 핵심 정리

 

자바 API 문서

프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말하고 라이브러리라고도 함

 

Object 클래스

자바에서 사용되는 모든 클래스에 자동으로 상속되는 최상위 클래스

 

equals()메서드 / hashcode()메서드

두 객체가 같음을 비교하기 위해 사용

 

toString()메서드를 Override하여 사용하면 객체의 정보를 쉽게 출력 가능

 

String 클래스

문자열을 처리하는 객체형 데이터 타입으로 문자열을 처리하기 위한 다양한 기능들을 가지고 있음

String객체는 비교할때 동등비교(==)

 

Wrapper 클래스

기본 데이터 타입(int,float,long 등)의 값을 갖는 객체로 외부에서 변경할 수 없음

Wrapper 클래스는 AutoBoxing 기능이 있어서 객체화하지 않고 일반 데이터 타입과 마찬가지로 값을 선언하여 사용 가능

ex) Integer number=30;

      Long longNumber=140;

 

Math 클래스

자바에서 수학 계산에 사용할 수 있는 기능을 가지고 있는 객체

대표적으로 범위 내 랜덤값을 부여할 수 있는 random()메서드가 있음

 

Calendar 클래스

날짜를 처리하기 위한 클래스

 


 

2. 응용 문제

 

Q1. 다음 코드에서 Object 클래스의 toString()메서드를 재정의 하여 User가 실행 결과와 같이 출력되도록 알맞은 코드를

       작성해 보세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package section15;
 
class User {
    private String name;
    private int age;
 
    public User(String name,int age) {
        this.name=name;
        this.age=age;
    }
}
 
 
public class UserExample {
    public static void main(String[] args) {
        User user=new User("김철수"22);
        System.out.println(user);
    }
}
 
cs

console)

이름: 김철수, 나이: 22


A1. toString()메서드는 데이터의 주소를 보여주는 메서드로

      Override를 통해 console과 같이 출력되도록 바꿔준다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package section15;
 
class User {
    private String name;
    private int age;
 
    public User(String name,int age) {
        this.name=name;
        this.age=age;
    }
 
    @Override
    public String toString() {
        return "이름: " + name + ", 나이: " + age;
    }
    
}
 
public class UserExample {
    public static void main(String[] args) {
        User user=new User("김철수"22);
        System.out.println(user);
    }
}
 
cs

 


 

Q2. 다음 코드를 실행했을 때 콘솔 창에 출력되는 결과는 무엇입니까?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package section15;
 
public class StringCompareExample {
    public static void main(String[] args) {
        
        String sentence1="사과";
        String sentence2=new String("사과");
        String sentence3="망고";
        
        System.out.println(sentence1==sentence2);
        System.out.println(sentence2==sentence3);
        
    }
}
 
cs

A2. console)

false

false

 


 

Q3. 다음 빈 칸(             )에 문자열 '100'을 정수로 변환하는 코드를 삽입하여 더하기 기능을 완성해 보세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package section15;
 
public class ValueConvertExample {
    public static void main(String[] args) {
        
        String str="100";
        int data1=200;
        int result=0;
        
        result=100+ ;
        System.out.println("숫자 합 : "+result);
        
    }
}
 
cs

A3. 문자열형인 str을 Integer.parseInt(str) 을 통하여 정수값으로 바꿀 수 있다.

 


 

Q4. 1부터 30 사이의 숫자를 생성하여 숫자 맞추기 게임을 랜덤 함수를 사용해 만들어보세요.

       (단, 숫자를 맞출 수 있는 기회는 10번입니다.)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package section15;
 
import java.util.Scanner;
 
public class UpDownGame {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        
        int count=0;
        int matchValue=0;
        int value=0;
        
        matchValue=(int)(Math.random()*30)+1;
        while(count<10) {
            System.out.println("맞출 숫자 입력 : ");
            value=scan.nextInt();
        }
    }
}
 
cs

이어서 코드를 작성해 보세요.


A4. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package section15;
 
import java.util.Scanner;
 
public class UpDownGame {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        
        int count=0;
        int matchValue=0;
        int value=0;
        
        matchValue=(int)(Math.random()*30)+1;
        while(count<10) {
            System.out.println("맞출 숫자 입력 : ");
            value=scan.nextInt();
            
            if(value<matchValue) {
                System.out.println("UP");
            }
            else if(value>matchValue) {
                System.out.println("Down");
            }
            else {
                System.out.println("정답입니다.");
                break;
            }
        }
    }
}
 
cs

 

 

2024.07.27