*JAVA*

[java] API - java.lang 패키지

깐부로부터 2021. 11. 16. 22:11

java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담은 패키지이다.

java.lang 패키지는 클래스와 인터페이스는 import없이 사용할 수 있다. 

 

API(Application Progaramming Interface)

: 프로그램 개발에 자주 사용되는 자바에서 제공하는 클래스 및 인터페이스 모음

  자바 라이브러리라고도 함

 

=> 한마디로 내가 생각하는 API는 자바언어를 사용하면서 개발자들이 코딩을 쉽게 할 수 있도록 만들어 놓은 모음집.


 

*java.lang 패키지 안에 있는 중요 클래스들*

 

<Object>

모든 클래스의 최상위 부모 클래스

Object의 메소드는 모든 자바 객체에서 사용 가능

 

1. equals(Object obj) : 객체를 비교할때 사용. '=='과 같이 객체주소를 비교해서 boolean으로 반환.

 - 두 객체가 필드값이 같은 동등객체인지 비교하기위해 자식클래스에서 재정의 돼서 사용한다.

 - 매개값이 기준 객체와 동일 타입 객체인지 먼저 확인 필요

 

2. hashCode() : 객체를 식별하는 하나의 정수값. 객체의 16진수 주소를 해싱하여 10진수로 반환한다.

 - hashCode()를 재정의하는 경우 : 두 객체가 동등한지 비교할 때 필요.

   따라서 equals()를 오버라이딩하면 hashCode()도 같은 정수값이 나오게끔 오버라이딩을 꼭 해줘야 한다!★

 

자바에서 두객체를 비교할때 hashCode()리턴값 비교 → equals()리턴값 비교 순으로 비교를 하기 때문!!!!!

 

3. toString() : 객체의 문자 정보 리턴. 기본적으로 '클래스이름@16진수해시코드'로 구성된 문자 정보

 - toString()메소드를 재정의 하는 경우 :  유익한 정보 리턴하기 위해

 

 

 

<System>

운영체제의 일부 기능 이용할 수 있음.

모든 필드와 메소드는 정적(static) 필드 및 메소드로 구성

 

- exit(int i) : JVM을 강제 종료(자바 프로그램을 강제 종료)

 

- currentTimeMills() : 1/10의 3제곱 단위 long값 리턴

 

- nanoTime() : 1/10의 9제곱 단위 long값 리턴

 

 

 

<Class>

자바는 클래스와 인터페이스의 메타데이터를 Class 클래스로 관리

*메타 데이터 : 타입 이름 및 파일 경로 정보, 필드 정보, 생성자 정보, 메소드 정보

 

*객체를 반환해주는 메소드*

- getClass() 

 ex) Class clazz = 참조변수.getClass();

 

- forName()

 ex) Class clazz = Class.forName("패키지....클래스이름");

 

- .class

 ex) Class clazz = 클래스이름.class;

 

 

 

<String>

불변클래스 (리터럴 값이 변하지 않는 클래스) ; 수정하는 순간 기존의 값이 담겨져있는 공간에서 수정되지 않음.

다양한 생성자를 이용하여 직접 String 객체를 생성

 

- charAt(int index) : 문자열에서 전달받은 index위치의 문자하나만 뽑아서 리턴

- equals(Object obj) : 두 문자열을 비교 *Object의 equals를 재정의해서 내용이 같으면 true반환

- concat(String str) : 문자열과 전달받은 또 다른 문자열을 하나로 합쳐서 리턴 => 문자열 + 문자열 = new 문자열

- getBytes() : byte[]로 리턴

- toCharArray() : 문자열의 각 문자들을 char[]배열에 옮겨 담은 후 char[]배열로 리턴

- length() : 총 문자의 수를 리턴 (공백도 포함)

- substring(int beingindex) : 문자열 beginindex 위치에서 문자열 끝까지의 문자열을 추출해서 리턴

- substring(int beinginde, int endindex) : 문자열의 beginindex 위치에서 endindex -1까지의 문자열을 추출해서 리턴

- replace(char old, char new) : 문자열에서 old문자를 new문자로 변환한 문자열을 리턴

- toLowerCase() : 문자열 전체를 소문자로 변환한 새로운 문자열 리턴

- toUpperCase() : 문자열 전체를 대문자로 변환한 새로운 문자열 리턴

- trim() : 앞뒤 공백 제거한 새로운 문자열 리턴

- valueOf(int i), valueOf(double d), ... 기본타입 8개의 오버로딩된 메소드 : 기본 타입 값을 문자열로 리턴

indexOf(String str) : 문자열 내에서 주어진 문자열의 시작인덱스를 리턴

- contains(String str) : 전체 문자열에 해당 문자열(str)이 있으면 true를 반환 그렇지 않으면 false를 반환

- toString() : 실제 담겨있는 문자열을 반환하게끔 오버라이딩이 되어있음

'*JAVA*' 카테고리의 다른 글

[java] 컬렉션 프레임웍(Collections Framework)  (0) 2021.11.19
[java] IO 스트림  (0) 2021.11.18
[java] 예외(Exception)  (0) 2021.10.30
[java] 인터페이스(Interface)  (0) 2021.10.29
[java] 추상클래스(abstract)  (0) 2021.10.29