전체 글

ETC/회고

[2024] 스프링 캠프 후기

5/25일 오프라인에서 진행된 "2024 Spring Camp"를 듣고 정리한 글입니다. 한국 스프링 사용자 모임(KSUG)에서 주최하는 스프링 컨퍼런스, 스프링 캠프에 다녀왔다. 인프런에서 티켓이 오픈되었고, 오픈채팅방 등에서 반응이 핫한걸 보고 서버시간 타임시커를 이용해 오픈 정각에 티켓팅을 달렸다 🏃 그렇게 구매한 소중한 티켓으로 다녀온 스프링캠프에서 특히 인상 깊었던 두 세션을 간단하게 정리해둔다. (여담이지만 오픈 후 4-50초만에 티켓이 매진되더라..! 💸 스프링이나 자바/코틀린 행사가 더 많아졌으면 한다 ^.ㅠ) 1️⃣ 조성아님의 왜 나는 테스트를 작성하기 싫을까테스트의 중요성이나 효과에 대해 알고 있음에도, 테스트를 짜는 건 굉장히 힘들고 피곤한 것처럼 느껴진다. 테스트는 어쩌다 피곤한..

Develop/Java

[Java] equals()와 hashCode()를 털어보자 (feat. 동일성 vs 동등성)

개요 지난번 포스팅에서 ==와 equals()에 대해 알아봤다. Object.equals()의 java document를 보면 아래와 같은 내용이 있다. Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes. equals()를 오버라이딩 할 때마다 hashCode()도 함께 재정의하는 것을 권장하고 있다. equals()는 언제 오버라이딩 되어야 하는지, ..

Develop/Java

[Java] 참조 타입에 ==을 쓰면 안되는 이유 (feat. String Pool, Integer cache)

개요 Java를 이용해 어플리케이션을 만들어봤다면, 아마 equals()나 ==를 한 번쯤은 사용해봤을 거다. 말 그대로 두 대상이 같은지 다른지를 판단해주는 친구들인데, 이전에 이 두 개를 잘못 사용하여 런타임 에러가 발생한 적이 있다 😇 equals()와 ==이 무엇이고 내부 동작 원리는 무엇인지, 어떤때 어느 것을 사용해야 하는지 알아보자. Java에서 동등성을 판단하는 두 가지 방법 == (등가 비교 연산자) 비교 연산자는 두 피연산자를 비교하는 데 사용되는 연산자이다. 이 중 두 피연산자의 값이 같은지 또는 다른지를 비교하는 연산자가 등가 비교 연산자로, Java는 !=와 ==를 제공하고 있다. 비교 연산자 연산 결과 == 두 값이 같으면 true 다르면 false != 두 값이 다르면 true..

Develop/Etc

[객체지향] 일급 컬렉션 (First Class Collection)

개요 마틴 파울러의 소트웍스 앤솔로지에 나오는 객체지향 생활 체조 원칙 (Object Calisthenics) 중 이런 항목이 있다. '일급 컬렉션(first-class)을 쓴다'. 객체지향과 클린 코드를 논할때면 단골 손님처럼 등장하는 일급 컬렉션에 대해 알아보자. 일급 컬렉션이란? 일급 컬렉션(First Class Collection)은 컬렉션을 Wrapping하면서, 해당 컬렉션 이외의 다른 멤버 변수를 가지지 않는 클래스를 의미한다. 컬렉션을 단순 데이터로 보지 않고, 하나의 논리 (도메인) 객체로 취급하여 데이터와 데이터를 조작하는 로직을 하나의 클래스로 캡슐화 하는 것이라고 이해하면 된다. List members = new ArrayList(); 이렇게 만든 코드를 class Members {..

스껄한우디
호그와트 장학생