자바에서 성능 이야기 나오면 거의 빠지지 않는 주제가 있다.👉 문자열(String) 성능 최적화초보 때는 그냥 String 막 써도 문제 없어 보인다.근데 문자열은 생각보다:✔ 객체 생성 많이 발생하고✔ 메모리 사용량 크고✔ CPU 사용량도 꽤 높다특히 반복문에서 잘못 쓰면 성능 차이가 엄청 커진다.실무에서도 진짜 자주 보는 최적화 포인트다.왜 문자열 최적화가 중요할까?String은 자바에서 가장 많이 사용하는 객체 중 하나다.예시:String name = "Java";이런 코드 자체는 문제 없다.근데:String result = "";for (int i = 0; i 이런 식으로 쓰면 성능 문제가 생긴다.String이 느린 이유핵심은 이것이다.👉 String은 immutable(불변 객체)즉:Stri..
자바에서 문자열 자를 때 거의 무조건 사용하는 메서드가 있다.👉 substring()근데 많은 사람들이 그냥:str.substring(0, 5);이렇게만 쓰고 끝난다.사실 내부 동작 원리까지 이해하면:✔ 문자열 메모리 구조✔ String 불변 객체 특징✔ Java 버전별 차이✔ 성능 문제이런 것까지 전부 연결된다.특히 면접에서도 꽤 자주 나오는 주제다.substring() 이란?👉 문자열의 일부를 잘라서 새로운 문자열을 반환하는 메서드가장 기본적인 사용법public class Main { public static void main(String[] args) { String str = "Hello World"; String result = str.substring(0, 5..
자바에서 문자열 다루다 보면 은근 자주 터지는 예외가 있다.👉 StringIndexOutOfBoundsException배열/리스트의 IndexOutOfBoundsException이랑 거의 비슷한데,👉 문자열(String)에서만 발생하는 버전이라고 보면 된다.StringIndexOutOfBoundsException 이란?👉 "문자열의 인덱스 범위를 벗어났을 때 발생하는 예외"즉,문자열 길이가 5인데 index 5 접근음수 인덱스 사용substring 범위 잘못 지정👉 이런 상황에서 터진다.가장 기본적인 예제public class Main { public static void main(String[] args) { String str = "Hello"; System.ou..
2024.07.12기준 - 브론즈4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 입력받은 문자열을 뒤에서 5번째까지만 출력하면되는 간단한 문제입니다. 1. 문자열 길이와 문자열을 입력받습니다.int n = Integer.parseInt(br.readLine()); // 문자열 길이String s = br.readLine(); // 문자열 2. 입력받은 문자열을 subString()을 이용하여 뒤에서 5번째 부터 끝까지 출력합니다.// 문자열의 뒤에서 5번째부터 끝까지만 저장한다.sb.append(s.substring(n - 5, n)); 코드package Main;import java.io.*;import java.util.*;public class Main { public stat..