자바 기본 라이브러리 활용하기

JongseokLee·2021년 7월 27일
0
post-thumbnail

자바 기본 라이브러리 활용하기

1. Object 및 Wrapper 클래스 활용하기

1) Object 클래스

  • 모든 자바 클래스의 최상위 부모 클래스
  • 패키지 : java.lang
  • 자바 컴파일러가 자동으로 상속처리함
  • 자바의 모든 클래스들은 Object 클래스와 동일한 메소드를 가짐

2) Object 클래스의 주요 메소드

  • toString() 메소드 : 객체에 대한 정보를 문자열로 반환
  • equals() 메소드 : 두 객체를 비교하여 동일한지 판단함

3) Wrapper 클래스

  • 기본 자료형에 대응하는 클래스
  • 패키지 : java.lang
  • 클래스의 다양한 메소드 활용 가능

4) 오토 박싱(auto boxing)

  • 기본 자료형 값을 Wrapper 클래스의 객체로 자동 변환해 주는 것

5) 오토 언박싱(auto unboxing)

  • Wrapper 클래스의 객체에 있는 값을 기본 자료형으로 자동 변환해 주는 것

2. 기초 클래스 활용하기

1) String 클래스

  • 문자열 처리를 위한 클래스
  • 문자열 변경이 불가능 함
  • String 클래스 객체 생성

    문자열 상수를 직접 지정하는 방법
    String 클래스의 생성자 메소드를 이용하는 방법

2) StringBuffer 클래스

  • 버퍼 메모리를 확보해 놓고 문자열을 처리
  • String 클래스 보다 처리 속도가 빠름
  • 문자열을 수정 및 변경할 수 있어서 다양한 문자열 처리가 가능함

3) Random 클래스

  • 임의의 값을 발생시키는 클래스
  • 객체 생성 후 여러 번 임의의 값을 가져올 수 있음
  • 패키지 : java.util

4) Math 클래스

  • 수학과 관련된 메소드를 제공하는 클래스
  • 대부분 정적 멤버 메소드로 정의되어 있음

5) Calendar 클래스

  • 날짜와 시간을 표현하는 클래스
  • 시스템의 날짜와 시간을 가져오기 위해서 getInstance() 메소드로 객체를 생성
  • 패키지 : java.util

3. 실습

1) Random 클래스를 이용한 임의의 수 (1에서 100사이) 맞추기 게임
2) 키보드로 숫자를 입력 받아 임의의 수를 몇번 맞추는지 출력

package numbergame;
import java.util.*;

public class NumberGame {

	int random_number;
	int count;

	public NumberGame() {
		Random r = new Random();
		random_number = r.nextInt(100) + 1; // 0부터 99까지이므로 1을 더하여 1부터 100까지
		count = 0;
	}
	int findNumber(int num) {
		return num - random_number;
	}
	void incrementCount() {
		count++;
	}
	int getcount() {
		return count;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner kbd = new Scanner(System.in);
		NumberGame ng = new NumberGame();

		do {
			System.out.print("숫자를 입력하세요! : ");
			String value = kbd.nextLine();
			int int_value = Integer.parseInt(value);  // 문자열 숫자를 숫자로 변환
			ng.incrementCount();

			int result = ng.findNumber(int_value);
			if( result < 0 ) {
				System.out.println(int_value+" 보다 커야 합니다! ("+ ng.getcount()+")");
			} else if( result > 0 ) {
				System.out.println(int_value+" 보다 작아야 합니다! ("+ ng.getcount()+")");
			} else if( result == 0 ) {
				System.out.println(ng.getcount()+"번 만에 맞추셨습니다.");
				break;
			}
		} while(true);
	}
}

<Result>

숫자를 입력하세요! : 50
50 보다 커야 합니다! (1)
숫자를 입력하세요! : 75
75 보다 작아야 합니다! (2)
숫자를 입력하세요! : 62
62 보다 작아야 합니다! (3)
숫자를 입력하세요! : 55
55 보다 커야 합니다! (4)
숫자를 입력하세요! : 59
59 보다 커야 합니다! (5)
숫자를 입력하세요! : 61
61 보다 작아야 합니다! (6)
숫자를 입력하세요! : 60
7번 만에 맞추셨습니다.
profile
DataEngineer Lee.

0개의 댓글