Java32 [Java] String 비교 시 ==이 아닌 equals()를 사용해야 하는 이유 String 비교 시 ==이 아닌 equals()를 사용해야 하는 이유Java의 String 메모리 공간과 크기Heap 영역과 String PoolJava에서 String 객체는 Heap 메모리에 저장됩니다.String 리터럴("hello")은 String Pool이라는 특별한 공간에 저장되며, 동일한 값의 String이 있으면 재사용됩니다.new String("hello")는 Heap에 새로운 객체를 생성하므로, String Pool과 다르게 관리됩니다.메모리 크기Java의 String은 내부적으로 char[] 배열을 사용하며, 각 char는 2바이트(16비트) 크기의 UTF-16을 사용합니다.예를 들어 "Hello"는 5 * 2 = 10바이트를 차지합니다.Java 9부터는 byte[] 기반의 Stri.. 2025. 3. 18. [Java] Builder Pattern 그리고 @Builder annotaion Builder Pattern (빌더 패턴) 객체를 생성하는 좋은 방법 중 하나. constructor에 전달되는 parameter가 많을 때, 각각의 인자가 어떤 의미인지 알 수 있도록 해준다. 파라미터의 순서에 상관없이 객체 생성 BankAccount account = new BankAccount(456L, "Marge", "Springfield", 100.00, 2.5); ↓ BankAccount account = new BankAccount.Builder(1234L) .withOwner("Marge") .atBranch("Springfield") .openingBalance(100) .atRate(2.5) .build(); Builder()에는 필수 인자들의 값을 입력 build() 가 객체를 생성.. 2022. 9. 19. 이전 1 ··· 3 4 5 6 다음