2022. 9. 30. 13:25ㆍJava 프로그램
오늘은 자바 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의 유틸리티 클래스를 정리한 표입니다. 참고하시면 될 것 같습니다.
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편에서 뵙겠습니다 ㅎㅎㅎ
'Java 프로그램' 카테고리의 다른 글
자바 기본 API 3편<마지막> (StringTokenizer~Date 클래스) (0) | 2022.10.12 |
---|---|
자바 기본 API 2편 (String Class~~ (2) | 2022.09.30 |
예외처리(Exception) (2) | 2022.09.20 |
인터페이스(interface) (0) | 2022.08.30 |
클래스 상속- 다형성 (0) | 2022.08.30 |