인강 - 자바의정석 기초편 ch09
Java API
Object 클래스
모든 클래스의 조상
//notify( ), wait( ) 쓰레드 관련 메서드
//protected 되어 있는 메서드는 오버라이딩을 통해 public으로 변경하여 사용한다
equals (Object obj)
객체 메모리 주소값을 비교하는 메서드.
주소값이 다르더라도 같은 값을 가지면 true로 나오게 하려면, value 값으로 obj를 변환시켜서 사용한다. 참조변수의 형변환 전에는 instanceof 로 가능여부를 확인해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
class EqualsEx1 {
public static void main(String[] args) {
Value v1 = new Value(10);
Value v2 = new Value(10);
if (v1.equals(v2))
System.out.println("v1과 v2는 같습니다.");
else
System.out.println("v1과 v2는 다릅니다.");
} // main
}
class Value {
int value;
Value(int value) {
this.value = value;
}
public boolean equals(Object obj) {
if(!(obj instanceof Value)) return false;
Value v = (value)obj;
return this.value == v.value;
}
|
cs |
hashcode( )
객체 메모리 주소값을 int로 반환하는 메서드. OS의 메서드를 가져와서 사용( 주로 C언어로 작성되어 있으며, JNI 기술 참고)
equals( )를 오버라이딩 하면, hashcode( )도 오버라이딩 해야 한다. equals( )의 결과가 true인 두 객체의 hashcode( )는 동일해야 하기 때문이다.
//객체마다 다른 hashcode( ) 값, 주소 값을 도출해야 하는 경우에는 .identityhashCode( )를 사용한다.
//64bit JVM 값이 32bit JVM에서는 주소값이 겹칠 수도 있다.
1
2
3
4
5
|
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str.equals(str2));
System.out.println(str1.hashCode());
System.out.println(str2.hashCode());
|
cs |
toString( )
객체를 문자열로 변환하기 위한 메서드.
String( ) 클래스
문자열 결합에서는 계속 새로운 객체 주소를 생성해 값을 저장하므로 성능이 떨어진다. StringBuffer 클래스를 이용하면 내용 변경이 가능하다.
문자열 비교는 equals( )를 사용한다.
'Java' 카테고리의 다른 글
[Java] For 문, 예제 (0) | 2021.01.13 |
---|---|
[Java] Wrapper, Math 클래스와 if, switch문 (0) | 2021.01.12 |
[Java] Scanner문, 유효성 검사 (0) | 2021.01.11 |
[Java] Java의 설치와 기본 개념 (0) | 2021.01.09 |
[Java] 생성자, 형변환(casting), 연산자(operator) (0) | 2021.01.07 |
댓글
최근에 올라온 글
TAG
- gradle build
- intellij
- AWS
- filezila
- spring
- SQLD
- 웹페이지만들기
- java
- 북클럽
- 오늘의코딩
- 정보처리기사 실기
- 정보처리기사
- 독서후기
- 개발도서
- jdbc
- 노마드코더
- 실용주의프로그래머
- LifecycleException
- 기술블로그
- putty
- 정보처리기사 필기
- git연동
- EC2
- 노개북
- 배포
- gradle
- JIRA
- ubuntu
- IT 5분 잡학사전
- 호스팅영역
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함