자바 기본 API 1편

2022. 9. 30. 13:25Java 프로그램

728x90

오늘은 자바 API에 대해서 알아보겠습니다.

 

자바 API란?

- 자바에서 기본적으로 제공하는 라이브러리

- 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음

이라고 생각하면 되겠습니다.

 

https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

위 사이트는 HTML로 작성된 웹 브라우저로 API를 찾아 이용할 수 있도록 기재 해 놓은 사이트입니다. 참고용으로 사용하면 좋을것 같습니다.

 

< java.lang / java.util >

java.lang?

- 자바 프로그램의 기본적인 클래스를 갖고 있는 패키지입니다.

-포함된 클래스와 인터페이스는 따로 import를 사용하지 않아도 사용이 가능 합니다.

java.lang의 주요 클래스

클래스 사용
Object - 자바 클래스의 최상위 클래스
System - 입력 장치로 데이터를 입력 받을 때 사용
- 출력 장치로 데이터를 출력할 때 사용
- 자바 가상 머신을 종료시킬 때 사용
Class - 클래스를 메모리로 로딩할 때 사용
String 문자열을 저장할 때 사용
StringBuffer , StringBuilder - 문자열을 저장하고 내부 문자열을 정리할 때 사용
Math - 수학함수를 사용할 때 사용

 

1. Object Class

- 자바의 최상위 부모 클래스 이며 Object의 Method는 모든 클래스에서 사용이 가능합니다.

 

1) 객체를 비교해주는 equals() 메소드

public boolean equals(Object obj) {

}

equals() 메소드는 동등 연산자인 == 와는 조금 차이점이 있습니다.

참조타입에서 == 처럼 동등 연산자는 번지를 비교한 후 결과를 리턴하지만

equals() 메소드는 객체 저장 데이터를 비교한 후 결과를 리턴한다고 이해하시면 빠르겠습니다.

 

2) 객체 hashCode() 메소드

해시코드란?

- 객체를 식별할 하나의 정수값

- 객체의 메모리 번지를 이용해 해시코드를 만들어 리턴합니다. 

      -  개별 객체는 해시코드가 모두 다름※

논리적 동등 비교시에는 hashCode() 오버라이딩을 할 필요가 있습니다.

 

3) 객체 문자정보 toString() 메소드

- 객체를 문자열로 표현한 값입니다.

Object obj = new Object();
System.out.println(obj.toString());

위 코드의 결과

이렇듯 객체를 문자열로 표현하여 출력되는 결과를 확인 할 수 있습니다.

 

아직 경험이 부족하여 제가 생각하기엔 Object Class 내에서의 당장의 중요한건 이 정보로 생각이 됩니다.

아래는 Object의 유틸리티 클래스를 정리한 표입니다. 참고하시면 될 것 같습니다.

Object 유틸리티 클래스

 

2. System Class

- 프로그램 종료, 입력, 출력, 메모리 정리, 현재 시간 읽기 등등의 기능

 

1) 현재시간 읽기 currentTimeMillis() ==> 1/1000초 // nanoTime() -> 1/10^9초 단위

long time = System.currentTimeMillis();
long time2 = System.nanoTime();

System.out.println(time);
System.out.println(time2);

각각 단위에 맞게 초단위로 출력이 됩니다. 주로 프로그램의 실행 소요 시간을 산출할 때 사용합니다.

 

2) 시스템 프로퍼티 읽기 getProperty()

시스템 프로퍼티란?

- JVM이 시작할 때 자동 설정 되는 시스템의 속성값

 

대표적인 키와 값

// 시스템 프로퍼티 읽어오는 법
String value = System.getProperty(String key);

 

3. Class Class

- 클래스와 인터페이스의 메타 데이터(클래스 이름, 생성자 정보, 필드 정보, 메소드 정보)  관리

 

1) Class 객체 얻기 (getClass(), forName())

1-1) 객체로부터 얻는 방법

Class cls = obj.getClass();

1-2) 문자열로부터 얻는 방법

try{
	Class class = Class.forName(String className);
   }catch(ClassNotFoundException e){
   
   }

 

 

4번째인 Sting Class 부터는 2편에서 뵙겠습니다 ㅎㅎㅎ

반응형