개발하는 프로 국밥러
Primitive 타입과 Reference 타입
언어/Java 2023. 8. 18. 14:11

Primitive 타입 흔히 기본형 타입으로 int, float, double, char, boolean 등의 타입이 해당됩니다. 기본형 타입의 변수는 값을 직접 가지고 있으며, 스택(Stack) 메모리에 저장됩니다. 이러한 변수들은 크기가 작기 때문에, 빠른 엑세스와 빠른 메모리 할당을 허용합니다. 예를 들어 int, float, double, char, boolean 은 고정된 크기에 공간을 차지하며, 변수에 값을 할당하면 해당 공간에 값을 직접 저장합니다. 메모리 할당과 해제가 빠르며 오버헤드가 적습니다. Reference 타입 참조 타입으로 객체, 배열 등이 해당됩니다. 참조형 타입의 변수는 해당 데이터의 주소를 저장하고 있으며, 그 주소는 스택(Stack) 영역에 저장되고 있습니다. 참조 타입 ..

equals() 와 hashCode()
언어/Java 2023. 8. 18. 11:20

equals 와 hashCode 는 둘 다 객체의 동등성 비교에 사용되는 메서드입니다. 하지만 두 메서드의 하는 역할과 사용되는 상황에서 차이가 있습니다. equals() equals 메서드는 두개의 객체가 논리적으로 동일한지 확인하는 데 사용됩니다. 즉 두객체의 내용(값)이 동일한지 비교합니다. 따라서 equals 메서드를 오버라이딩하여 객체들의 내용을 비교하는 방법을 정의할 수 있습니다. (대부분의 IDE 에서 equals hashCode 메서드를 오버라이딩 하는 기능을 제공합니다) 예를 들어서, 사용자 정의 클래스에서 equals 를 오버라이딩 할 때는, 보통 객체의 필드들을 비교하여 같은 내용인지를 판단하는 로직을 구현합니다. 해시 함수 hashCode 메서드를 알기 전에 해시 함수에 대한 기본적..