본문 바로가기

전체 글56

String 비교법(Comparing Strings in Java) 원본 글: https://www.baeldung.com/java-compare-strings String 객체를 비교하는방법에는 여러가지가 있는데, 이 글은 여러 방법들을 비교 분석하는 글입니다. 1. String Comparison With String Class1.1 '=='연산자를 이용한 비교'=='를 이용한 비교는 흔히 사용하는 방법중 하나지만 좋은 방법은 아닙니다. 왜냐하면 해당 연산자는 참조 동일성만 확인하기 때문입니다.여기서 참조 동일성이란 비교하는 두 대상의 참조, 주소값이 같은지 확인하는 것을 의미합니다.  @Test public void operator_Test() { String s1 = "hello minseok"; String s2 = "hell.. 2025. 1. 28.
문자열 순회 방법들(How to Iterate Over the String Characters in Java) 원본 글: https://www.baeldung.com/java-iterate-string-characters 시간복잡도와 공간복잡도를 고려하여 String 문자열을 어떻게 반복접근하나 확인해봅시다.  1. Common Ways to Iterate Over a StringJava에서 문자열을 반복접근하기위해 여러 방법들이 있는데, 각 프로그램의 요구사항에 따라 여러 방법중 하나를 골라 쓰면 될 것같습니다. 1.1 for Loopfor문을 통하여 문자열을 반복 접근할 수 있습니다.n의 크기를 가진 문자열을 돌려면 당연히 n번만큼 접근해야하고 접근하여 저장할 단일 변수만 필요하기에 시간복잡도와 공간복잡도는 다음과 같습니다.- 시간복잡도: O(n)- 공간복잡도: O(1) @Test public vo.. 2025. 1. 27.
String Pool에 대하여(Guide to Java String Pool) 원본 글: https://www.baeldung.com/java-string-pool#string-interning JVM에서는 String객체를 저장하기 위한 특별한 저장공간이 있는데, 이를 String Pool이라고 합니다. 1. String Interning JVM은 String literal에 대하여 String Pool공간에 하나의 복사본만 두고, 이를 재활횽해서 메모리 할당을 최적화할 수 있습니다. 이를 String Interning이라고 부릅니다. String 변수에 값을 할당할 때, JVM은 String Pool에서 그 값과 동일한 값을 찾은 후 동일한 값이 존재하면 Java Compiler는 추가적인 메모리 할당 없이 찾은값에 대한 메모리 주소를 반환하게 됩니다. 만약 동일한 값이 존재하.. 2025. 1. 26.
문자열을 잇는방법(Concatenating Strings in Java) 원본글: https://www.baeldung.com/java-strings-concatenation Java에서 String객체를 잇는 방법에는 여러가지가 있는데, 그 중 몇 가지를 확인하고 나쁜(?) 코드도 확인해 보겠습니다. 1. StringBuilder StringBuilder클래스는 String을 조작할 수 있는 여러 함수들을 제공하는데, 이를 통하여 String을 이을 수 있습니다.  @Test void StringBuilderAppendTest() { StringBuilder stringBuilder = new StringBuilder(100); stringBuilder.append("hello"); stringBuilder.append(" m.. 2025. 1. 22.
왜 String은 불병성을 가지나(Why String Is Immutable in Java?) 원본: https://www.baeldung.com/java-string-immutable 원본글을 기반으로 번역 + 추가 테스트 코드, 의견 등을 작성한 글입니다. 인터뷰 면접 질문에서 "왜 Java에서 String은 불변성을 지니나요?"라고 물어볼 때가 있습니다.Java 창시자 고슬링은 "가능할때마다 불변성을 사용하겠다"라고 말할정도로 불변성이 가진 이점이 많은데 그 이유를 알아보겠습니다.크게 캐싱, 보안, 재사용성 등을 말할 수 있는데, 그 전에 불변성이 무엇인지 알아보겠습니다.1. 불변성 객체?불변성 객체란 생성된 이후로 내부 상태값이 일정하게 유지되는 객체를 뜻합니다.즉슨, '객체가 할당된 이후 해당 값을 변경할 수 없음'을 뜻합니다.일단 이정도로 알아가고 불변성에 대한 이야기는 다른 잘 정리된.. 2025. 1. 21.
스트링 객체 초기화방법(String Initialization in Java) 원본: https://www.baeldung.com/java-string-initialization 자바 String 객체 초기화에 관한 글입니다.생성하는 방식은 크게 2가지 방식이 있습니다.New 키워드를 이용한 객체생성`Literal` 방식을 이용한 객채생성 ## 1. 생성방식 ```JAVA@Testvoid String_생성방법() { String usingNew = new String("minseok"); String usingLiteral = "minseok";}``` 두 방식이 같지는 않습니다. 그 이유는 간단하게 밑에서 설명하겠습니다. 만약 초기화 값을 명시하지 않으면 어떻게 될지도 살펴보겠습니다.  ## 2. 초기화값이 없을때 ```JAVApublic class StringBasi.. 2025. 1. 20.