java.lang 패키지
- 자바 프로그램의 가장 기본이 되는 클래스들을 포함
- java.lang 패키지에 포함되어 있으므로 import문 없이 사용 가능
- 대표적인 String, System 클래스를 import문 없이 사용할 수 있었던 이유
- String 및 System 클래스는 별도의 import가 불필요
- Date 클래스 사용을 위해 import한 java.util.Date
- Calendar 클래스 사용을 위해 import한 java.util.Calendar
Object 클래스
모든 클래스의 조상 클래스
따라서, Object 클래스의 멤버들은 상속을 한다면 다른 클래스에서 사용 가능
- clone 객체 자신의 복사본을 리턴
- equals 객체 자신과 같은 객체인지를 리턴
- finalize() 소멸될 때 실행(소멸자)
- getClass 객체 자신의 클래스 정보를 담고 있는 Class 인스턴스 반환
- hashCode 해시코드를 반환
- toString 문자열 리턴
- notify 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨움
- notifyAll 객체 자신을 사용하려고 기다리는 모든 쓰레드를 깨움
equals
- Object의 equals 메소드는 두 값을 비교
- (참조형 변수이기 때문에 참조되는 주소값이 같은지 비교)
- 결국, 두 값이 가리키는 메모리 주소가 같은지를 확인
- String 이나 Date 같은 다른 참조 클래스는 오버라이딩을 통해서 equals 메소드를 재정의
- str에 null 값이 들어가게되면 NullPoinerException 발생됨
- 해결방안을 청색 네모 처럼 equals 함수를 사용해야 함
- 위와 같이 적용가능
- (str != null) 을 사용할 수 있지만 위의 구문과 동일한 결과를 나타냄
hashCode()
- 데이터 관리 기법인 해시기법에 사용되는 해시함수를 구현
- 클래스의 인스턴스 변수 값으로 객체의 같고 다름을 판단해야 하는 경우
- equals 메소드와 hashCode 메소드를 같이 사용해서 비교
toString()
- 사용자 정의 클래스는 보통 오버라이딩 이후 적절한 내용으로 수정함
String 클래스
자바에서 문자열을 처리하는 클래스
메서드
- length
- charAt
- toCharArray
- contains, indexOf, lastIndexOf
- toLowerCase, toUpperCase, trim
- equals, equalsIgnoreCase
- replace, replaceAll, split
- concat
- endsWith, startsWith
(생략)
- substring
- toString
(생략)
- valueOf
- compareTo
문자열 인코딩
- 자바는 기본적으로 UTF-16을 사용
- String.format
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 4-3. Math 클래스 (0) | 2022.02.04 |
---|---|
[Zero-base] 4-2. StringBuffer 클래스와 StringBuilder 클래스 (0) | 2022.02.04 |
[Zero-base] 3-5. 인터페이스 (0) | 2022.01.26 |
[Zero-base] 3-4. 추상 클래스 (0) | 2022.01.26 |
[Zero-base] 3-3. 오버라이딩과 오버로딩 (0) | 2022.01.26 |