전체 글8 Java의 equals와 hashcode메서드 이해하기 Java 프로그래밍을 하다 보면 Object 클래스의 equals()와 hashCode() 메서드를 종종 보게 됩니다.이 두 메서드는 단순해 보이지만, 올바르게 이해하고 사용하지 않으면 예상치 못한 버그를 유발할 수도 있습니다.오늘은, 이 두 메서드의 목적과 관계에 대해 한 번 알아보겠습니다. equals() 메서드 - 논리적 동등성의 기준Java에서 객체 비교를 이야기할 때 두 가지 관점이 있습니다:물리적 동등성(Reference Equality): 메모리 상에서 동일한 위치(동일한 참조)를 가리키는지. ('==' 연산자를 사용하여 비교 가능)논리적 동등성(Logical Equality): 두 객체가 같은 값을 가지고 있는지 확인. (서로 다른 메모리 위치에 존재하더라도 상관없음)equals() 메서드.. 2025. 3. 16. 고정 소수점, 부동 소수점 표현 방식 컴퓨터는 데이터를 이진수 체계를 이용해 0과 1로 저장합니다. 컴류터 정수를 저장할 경우 해당 정수를 이진수로 변환한 후 이를 메모리에 저장합니다. 이진수 변환 시 10진수 정수를 우측부터 이진수의 2^0, 2^1, 2^2... 로 해석해 변환하여 저장합니다.정수-이진수 변환은 비교적 간단합니다. 그런데 소수부가 포함된 125.275 같은 정수가 아닌 실수를 이진수로 변환하려면 어떻게 해야 할까요? 25.23423112342343243232444... 같은 긴 실수를 변환해야 할 경우를 생각해 보면, 두 실수 사이에는 무수히 많은 실수가 존재한다는 특성상 이를 유한한 비트로 나타내기는 쉽지 않아 보이므로 정수의 이진수 변환과는 다른 복잡한 규칙이 필요해 보입니다. 그럼에도 불구하고 많은 소프트웨어에서 정.. 2025. 3. 16. 이전 1 2 다음