자바 7차시 오브젝트 클래스

정현진·2023년 7월 8일

Object 클래스
모든 클래스의 최상위 클래스
1. toString()
Object의 toString은 참조값을 문자열 형태로 출력한다.
(클래스의 경로와 이름@16진수로 변환된(해시코드)
참조변수를 print()등의 출력메소드로 출력하면 항상 toString()이 사용된다.
-> 참조값이 출력된 이유
toString()을 통해 출력되는 문자열을 바꾸고 싶으면 재정의해서 사용하면 된다.
2. equals()
Object의 equals()는 ==과 같다. (참조값 비교)
String의 equals()는 재정의되어 값을 비교한다.
-> 문자열의 비교는 equals()를 사용해야 한다.
우리가 만든 클래스 객체를 비교하고 싶다면 비교 기준을 재정의하여 사용할 수 있다.
3. hashCode()
object의 hashCode()는 객체의 주소값을 특정 알고리즘을 거쳐서 정수 값으로 반환한다.
자바에서는 euquals()를 재정의하면 hashCode()도 재정의 하도록 권장한다.
(두 객체의 equals()가 true라면 hashCode()도 동일하게 나오도록 재정의 하는것을 권장함)

Wrapper Class : 기본자료형들의 클래스타입
클래스타입 변수 = new 클래스타입(일반타입 값); // boxing 권장하지 않음
클래스타입 변수 = 클래스타입.valueOf(입반타입 값) // boxing
일반타입 변수 = 객체.000Value();

Wrapper Class를 사용하는 이유
- 클래스타입은 다양한 메소드를 제공받을 수 있다.
- 자바에서는 클래스타입이 갖는 이점이 많다.
예를 들어 api에서 제공하는 여러 메소드는 매개변수로 클래스타입(Object)을 받는 경우
기본 자료형을 넘겨줄 수 없으므로 boxing을 해줘야한다.

알고리즘
어떤 문제를 해결하는 순서 , 절차

자료 구조 (Data Structure)
데이터들의 집합
데이터를 효율적으로 표혆고 처리(검색, 수정, 삭제, 추가, ...) 하는 것

profile
jin`s world

0개의 댓글