728x90
String은 불변이다String 클래스는 내부적으로 Final 키워드가 선언된 byte[] 필드를 사용해서 문자열을 저장한다String은 참조 타입, 즉 Reference Type이므로 concat(), replace(), toUpperCase() 사용시 새로운 String 객체를 참조한다 (불변유지)왜 String은 불변이어야 했을까String Constant PoolSCP를 먼저 얘기하자면 String Constant Pool자체는 JVM의 Heap 영역 안의 특별 공간이다→ 동일한 문자열 리터럴이 여러번 등장해도 메모리를 한 번만 사용하도록 관리하는 구조!구조를 도식화 하자면[In Code] ... String a = "hello" String b = "hello" String c = "w..
며칠전부터 MCP에게 알고리즘을 점령당하다가, 본 것 중에 가장 이해가 쉬운 MCP에 대한 짧은 강의를 니꼬 선생님이 찍어주셨다. Model Context Protocol, MCP2024년 11월, Anthropic님이 MCP라는 프로토콜을 오픈 소스로 공개했다. 이건 AI 모델이 다양한 데이터 소스와 연결되어 실시간으로 정보 공유를 할 수 있도록 설계된 프로토콜이다. 예를 들어, 최근 향상된 이미지 성능에 힘입어 가장 많이 쓸 GPT에게 다음과 같은 상황을 생각할 수 있다.🍊ME: GPT야 네이버 API를 통해서 날씨 정보 가져와🤖GPT: 난 네이버 API 못 써.🍊ME: 내가 미리 그 API 쓸 수 있도록 뚫어놓은 MIP 붙여줄게. 니꼬 선생님은 USB 비유를 했는데 내 PC에 외부 저장소인..
30살을 맞이한 JAVA의 준비Oracle이 Java24(Oracle JDK 24)를 그저께, 2025년 3월 18일에 정식 출시 발표를 했다.Java21 나와서 가상스레드 적용된 게 불과 1년 전이었는데 벌써 24다. Java 24에 대한 기능은 (시차가 있지만) 2025년 3월 18일부터 20일까지 열리는 JavaOne 2025 컨퍼런스에서 공개되고 있다. 이 컨퍼런스의 발표내용에 따르면 "올해로 Java 30주년을 맞았어!" 몰랐다. Java 아직 30살 밖에 안되었구나, 나랑 크게 차이 안 나네 👓 하고 글쿤글쿤 한 번. "AI 기반 애플리케이션 개발을 지원하려고 확장 중이야!" AI를 지원한다는 건 어떤 의미인지 궁금 한 번. 조금 더 들어보면 "Java 24에는 20개 이상의 새로운 기능이..
SOLID는 여전히 중요하다소프트웨어 설계의 다섯 가지 핵심 원칙인 SOLID는 명명된 지 20여 년이 지나가고 있지만, 여전히 개발자들에게 중요한 기준으로 자리잡고 있다. 최근 카카오뱅크의 안드로이드 개발자도 이를 언급하여, SOLID 원칙이 소프트웨어 설계에서 어떤 시사점을 제공하는지 강조한 바 있다. 모든 개발자가 알아야 할 SOLID의 진실 혹은 거짓기술 면접 자리에서 SOLID 5대 원칙에 대한 질문을 받아보신 분이라면 주목! 이 글에서는 SOLID 원칙의 역사와 장점, 그리고 각각의 원칙에서 중요한 점을 면접 상황 예시를 통해 가볍게 풀어보았습tech.kakaobank.com 다만 SOLID가 설계 품질을 높이기 위한 지침일 뿐, 모든 프로젝트에서 반드시 지켜야할 필수 요건이라거나 법이란 건..
Thread, Process, Core는 많을수록 좋을까보통 이러한 질문은 느낌상 '아니니까 묻는 것 같은데' 라는 직감을 준다.만약 누군가 이 각각이 많을수록 어떠한 영향을 줍니까?라고 물어보면 단순히 생각했을 때 Core는 뇌의 역할이니까 뇌가 많을수록 처리량이 많을 것 같고, 한 프로그램 내에 Process가 여러개로 있다면 병렬처리할 기회가 많이 생길 것 같아서 괜찮을 것 같고, Thread가 여러 개라면 이 또한 병렬처리에 유리할 것 같다. 그러한 생각이 틀렸는가를 판단하기 위해서 각각을 살펴본다. Thread가 많으면 어떨까Thread는 크게 하드웨어 입장과 소프트웨어 입장에서 생각할 수 있다. 여기선 소프트웨어 입장으로서 Process 내의 Thread라고 해해보자. 우리는 Thread가 ..
2024년, 가장 설레었던 말'참 잘한다.' 4년 전, 진로가 분명히 정해진 날부터 나는 누군가에게 필요한 사람이 되길 바랐고 어디에선 내 역할이 인정받는 순간이 오길 원했다. 그 마음은 함께하는 분들께 듣는 응원섞인 칭찬보다도, 내 연차나 직위를 알고 계시지 않았던 분께 단기간에 위 말을 들음으로써 내 욕심이 채워지는 도파민에 키보드를 두드림에도 되려 심장이 뛰는 마법을 느꼈다. 하지만 시간이 지나 겸손을 챙겨 회상하려 돌아보니, 그 한마디를 들을 자격이 있었는지 스스로에게 의문이 들었다. 내겐 그럴듯한 스킬이 존재하지 않았다. 능숙하고 깊은 전문성과 지식력을 갖춘 게 아니었음에, 곱씹을수록 시간이 지날수록 당시의 도파민이 우습고 창피했다. 그럼에도 내가 그 말을 들을 수 있었던 이유를 생각하면, 나는..