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 |