본문 바로가기
Backend - Java Spring/JAVA_강의

[JAVA얄코] 모든 클래스의 조상 Object

by VictorMeredith 2023. 11. 27.

1. Object

- 모든 클래스의 조상

- 필드 없이 메소드들만 가지고 있음

- 필요에 따라 @Override 하여 사용

 

2. Method

- .toString() : 기본적으로는 클래스명과 해시값을 반환, println 메소드로 출력 시 이 메소드를 이용함

- .equals() : 기본적으로는 '==' 과 같이 레퍼런스 비교. 인스턴스 내용을 비교하려면 클래스마다 Override 해야함(instanceof 로 Override해야 인스턴스비교가 가능)

- .hashCode() : 기본적으로는 각 인스턴스 고유의 메모리 위치값을 정수로 반환

- .clone() : 인스턴스(참조형)가 스스로를 복사하기 위해 사용. Cloneable 인터페이스 구현을 권장한다. 깊은 복사는 직접 Override로 구현해야한다. 참조타입은 참조복사만 됨

Cloneable의 구현 예제

- super.clone(); 으로는 깊은 복사가 불가능하다.

- 깊은복사를 하려면 아래와 같이 직접구현해주어야 함.

for 문을 돌면서 새로운 인스턴스를 만들어서 복사해서 넣어줘야함

 

'Backend - Java Spring > JAVA_강의' 카테고리의 다른 글

[JAVA얄코] 제네릭 타입  (1) 2023.11.28
[JAVA얄코] Wrapper 클래스들  (1) 2023.11.27
[JAVA얄코] 유용한 라이브러리 클래스  (0) 2023.11.27
[JAVA얄코] 레코드  (0) 2023.11.27
[JAVA얄코] 열거형(enum)  (1) 2023.11.27

댓글