<객체지향 프로그래밍 43장~47장>
Object 클래스
Object 클래스
- 자바에서 쓰는 기본적인 클래스
모든 클래스의 최상위 클래스
java.lang.Object 클래스
모든 클래스는 Object클래스에서 상속 받음
모든 클래스는 Object클래스의 메서드를 사용할 수 있음
모든 클래스는 Object클래스의 일부 메서드를 재정의 하여 사용할 수 있음
Object클래스의 주요 메서드 ( 빨강 박스안 메서드는 주로 오버라이딩 하여 사용 )
1. toString()
<toString 메서드로 설정> 어떤 객체의 정보를 String 형태로 표현해야 할 때 사용
String 클래스안에 toString 메서드가 따로 정의가 되어서. (주소가 출력이 안되고 배열의 문자가 출력)
toString 메서드 설정후 (메모리 주소 - > 저자하고 제목이 출력 )
2.equals() 메서드
두 객체의 동일함을 논리적으로 재정의 할 수 있음.
물리적 동일함 : 같은 주소를 가지는 객체
논리적 동일함 : 같은 학번의 학생, 같은 주문 번호의 주문
물리적으로 다른 메모리에 위치한 객체라도 논리적으로 동일함을 구현하기 위해 사용되는 메서드
3.hashCode() 메서드
- 메모리 주소값 = hashCode()(10진수로)
- hashCode() 메서드의 반환 값 : 인스턴스가 저장된 가상머신의 주소를 10진수로 반환
두 개의 서로 다른 메모리에 위치한 인스턴스가 동일하다는 것은?
- 논리적으로 동일 : equals() 반환값이 true
- 동일한 hashCode 값을 가짐 : hashCode() 의 반환 값이 동일
hashCode를 코딩할 때 equals의 멤버를 사용
4.clone() 메서드
- 객체의 복사본을 만듦 ( 인스턴스 값을 동일하게 하여 만듬 )
- 기본 틀으로 부터 같은 속성 값을 가진 객체의 복사본을 생성할 수 있음
오류가 뜨는 이유는 clone 복제를 할 때는 복제가 가능하다는 명시를 해줘야한다.
Class 클래스
자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일로 생성됨
class 파일에는 객체의 정보 (멤버변수, 메서드, 생성자등) 가 포함되어 있음
Class 클래스는 컴파일된 class파일에서 객체의 정보를 가져올 수 있음
Class 클래스 가져오는 3가지 방법.
'백엔드 > Java' 카테고리의 다른 글
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.23 |
---|---|
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.19 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.12 |
<FAST CAMPUS>자바 웹개발 - 객체지향 프로그래밍 (0) | 2021.01.10 |
<FAST CAMPUS>자바 웹개발 - 객체지향 프로그래밍 (0) | 2021.01.09 |
댓글