본문 바로가기

패스트캠퍼스 환급 챌린지

[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {19} 회차 미션

1. hashCode() 메서드

======================보충 int와 Integer의 차이=================

1. int (Primitive 자료형)

- '자료형' 을 의미한다. (int, float, long, double 와 같은 하나의 primitive 자료형을 의미합니다.)

- '산술 연산'이 가능합니다.

- null 로 초기화 불가능합니다.(0으로 초기화 가능합니다.)
이러한 점 때문에 자바는 C/C++과 조금의 차이를 보입니다.

 

2. Integer (Wrapper 클래스-객체)

- Wrapper 클래스입니다.

- Unboxing 을 하지 않으면 산술 연산이 불가능하지만, null값은 처리할 수 있습니다.

- null값 처리가 용이해서 SQL 과 연동할 경우 처리가 용이. 직접적인 산술연산은 불가능합니다.



 * Wrapper 클래스란?

Java는 데이터를 클래스와 객체 외에 기초 타입을 가집니다. 그렇기 때문에 Java는 기본형 타입(위에서 말한 primitive 자료형)과 객체 참조(클래스) 같은 두 가지 타입의 관리 데이터를 가집니다. 경우에 따라서 기본형 타입을 객체로 사용하는 경우가 있으며, 이러현 강우 기본형 타입 값을 객체로 표현해야합니다.

이때 Wrapper 클래스를 사용하는데, 특정 기본형 타입으로 나타냅니다. 예를 들어 Integer 클래스는 간단한 정수 값을 나타내며 객체는 하나의 int값을 저장할 수 있습니다.

 

ex)

Integer a = new Integer(10);

Double b = new Double("4.57");

 

 

이는 기본형 타입이 아닌 객체가 필요한 곳에서 적재적소에 사용할 수 있습니다.

 

 

 cf) Java Class Library의 Wrapper Class

 

 

 

이러한 두 가지 기본형 타입과 Wrapper class 사이의 관계에서 Boxing과 UnBoxing을 설명할 수 있습니다.

 

해당 타입(?)에 맞게 기본형 타입을 객체에 넣는 것을 Boxing, 반대로 Unboxing한다고 하는데 정리하자면 이렇습니다.

 

Primitive Type -> Wrapper class : Boxing

ex) Integer a = new Integer(10);

Wrapper class -> Primitive Type : Unboxing

ex) int b = a.intValue();

출처: growinglastcanyon.tistory.com/6

 

[Java] int와 Integer의 차이(+ Wrapper Class란?)

[Java] int와 Integer의 차이(+ Wrapper Class란?) 자바에는 Integer.valueOf(String); 혹은Integer.parseInt(String); 처럼 Integer라는 것이 존재합니다. 보통 C 계열 언어를 사용하시던 분들이 자바를 처음 접..

growinglastcanyon.tistory.com

2. clone() 메서드

clone 원본 객체의 필드값과 동일한 값을 가지는 새로운 객체를 생성
※ 복제이유: 원본객체를 안전하게 보호하기 위해서
※ cloneable 인터페이스를 구현하지 않으면 clone()메소드를 호출할 때 CloneNotSupportedException예외가 발생
※ try-catch 구문 필요
※ 얕은복제(this clone)와 깊은복제(deep clone)가있음


얕은복제
복제된 필드값을 변경하면 기본형의 원본 필드값은 그대로지만 
참조형의 필드는 번지만 복제되기 때문에 원본과 같은 객체를 참조하게 됨

은 복제
참조형 필드가 참조하는 객체도 복제하기 때문에
복제된 참조 객체를 변경해도 원본객체가 변경되지 않음

출처: https://jyosssss.tistory.com/78

 

JAVA 객체 복제 clone()

clone 원본 객체의 필드값과 동일한 값을 가지는 새로운 객체를 생성 ※ 복제이유: 원본객체를 안전하게 보호하기 위해서 ※ cloneable 인터페이스를 구현하지 않으면 clone()메소드를 호출할 때 Clon

jyosssss.tistory.com

 

 

 

 

 

 

 

 

 

 

올인원 패키지 : JAVA 웹 개발 마스터👉https://bit.ly/35aoeAW