본문 바로가기

전체 글25

자바21의 핵심정리 (언어, API, 가상스레드) 2023년 9월 공개된 Java 21은 LTS(Long-Term Support) 버전으로, 앞으로 수년간 안정적으로 사용될 자바의 기준점이 됩니다. Java 21은 언어 차원의 진보와 성능 최적화, 그리고 개발 생산성 향상을 목표로 다양한 기능이 추가되었습니다. 특히 가상 스레드(Virtual Threads)를 포함한 Project Loom, 패턴 매칭과 스위치 문 개선, 레코드 패턴과 표준 라이브러리(API) 업데이트가 주목받고 있습니다. 이번 글에서는 Java 21의 핵심 기능들을 언어, API, 가상 스레드라는 세 가지 관점에서 살펴보고, 개발자에게 어떤 변화와 이점을 제공하는지 정리해 보겠습니다.언어 기능 강화: 패턴 매칭과 스위치 문 진화Java 21에서는 언어 차원의 기능 개선이 크게 눈에 띕.. 2025. 10. 3.
Java 컬렉션 성능에 대해(ArrayList, LinkedList, 차이) 자바에서 가장 많이 사용하는 자료구조 중 하나가 리스트(List)입니다. 리스트는 데이터를 순서대로 저장하고 필요에 따라 접근할 수 있도록 돕는 핵심적인 컬렉션 인터페이스의 구현체입니다. 특히 ArrayList와 LinkedList는 리스트 인터페이스의 대표적인 두 구현체로, 표면적으로는 기능이 비슷해 보이지만 내부 구조와 성능 특성에는 큰 차이가 있습니다. 개발자는 상황에 따라 적합한 리스트를 선택해야 하며, 그렇지 않으면 성능 저하나 불필요한 자원 낭비가 발생할 수 있습니다. 이번 글에서는 ArrayList와 LinkedList를 중심으로 내부 구조, 성능 차이, 그리고 활용 사례를 구체적으로 살펴보겠습니다.ArrayList의 구조와 성능 특성ArrayList는 이름에서 알 수 있듯이 내부적으로 동적.. 2025. 10. 3.
C 메모리 함수 비교 (할당, 초기화, 사용법) C언어에서 동적 메모리 관리는 프로그램의 유연성과 성능을 크게 좌우하는 핵심 요소입니다. 특히 malloc과 calloc은 가장 널리 사용되는 메모리 할당 함수로, 표면적으로는 비슷해 보이지만 내부 동작 방식과 초기화 처리, 성능 측면에서 중요한 차이가 있습니다. 초보자는 두 함수를 혼동하기 쉽지만, 어떤 상황에서 어떤 함수를 사용해야 하는지를 이해하는 것이 효율적인 메모리 관리의 첫걸음입니다. 이번 글에서는 C언어의 대표적인 메모리 할당 함수인 malloc과 calloc을 중심으로 할당 방식, 초기화 처리, 사용법 차이를 구체적인 예제와 함께 살펴보겠습니다.malloc 함수와 메모리 할당 방식malloc은 "memory allocation"의 줄임말로, 지정한 크기만큼의 메모리를 힙(heap) 영역에 .. 2025. 10. 3.
IDE 빌드 실패 문제 이유(플러그인, 설정, 버전) 개발자가 프로젝트를 진행할 때 가장 자주 맞닥뜨리는 문제 중 하나가 바로 IDE 빌드실패입니다. 코드는 정상적으로 작성한 것 같은데 실행이 되지 않고, “Build failed”, “Plugin not found”, “Unsupported version” 같은 메시지가 나오면 초보자는 당황하기 마련입니다. 사실 빌드 오류는 단순히 코드 문제만이 아니라, 플러그인 충돌, 환경 설정 오류, 버전 불일치 등 다양한 원인으로 발생합니다. 이번 글에서는 대표적인 빌드 실패 원인을 세 가지 관점, 즉 플러그인, 설정, 버전을 중심으로 구체적인 사례와 해결법을 정리해 보겠습니다.플러그인 관련 빌드 오류IDE는 다양한 플러그인을 통해 기능을 확장합니다. 예를 들어 Eclipse는 Maven 플러그인(M2Eclipse).. 2025. 10. 3.
C언어 오류의 해석 (컴파일러, 경고, 디버그) C언어를 처음 배우는 사람이라면 누구나 컴파일 에러 메시지를 보고 당황한 경험이 있을 것입니다. 에러 메시지는 단순히 "코드가 잘못되었다"는 알림이 아니라, 어떤 부분에서 문제가 생겼는지를 알려주는 중요한 힌트입니다. 하지만 초보자 입장에서는 "expected ‘;’ before ‘}’ token" 같은 문장이 낯설고 어렵게 느껴지기도 합니다. 이번 글에서는 C언어에서 자주 발생하는 컴파일러 오류, 경고 메시지, 디버그 시점의 해석법을 구체적인 사례와 함께 정리해 보겠습니다.컴파일러 오류 메시지 이해하기C언어 프로그램을 작성하면 소스 코드를 컴파일러가 기계어로 변환합니다. 이 과정에서 문법이 잘못되거나 자료형이 맞지 않으면 컴파일러가 오류 메시지를 출력합니다. 대표적인 오류 사례를 살펴보겠습니다.1. 세.. 2025. 10. 3.
자바를 활용한 메모장 만들기 (파일, 저장, 읽기) 메모장은 가장 단순하면서도 실용적인 프로그램 중 하나입니다. 사용자가 입력한 내용을 파일에 저장하고, 다시 불러와서 편집할 수 있는 기능은 모든 운영체제에서 기본적으로 제공됩니다. 자바(Java)를 활용하면 콘솔 기반 혹은 간단한 GUI를 통해 메모장을 쉽게 구현할 수 있습니다. 이 과정에서 파일 입출력, 예외 처리, 사용자 입력, 문자열 처리 같은 기본기를 한 번에 학습할 수 있으며, 프로그램을 점진적으로 발전시켜 나갈 수도 있습니다. 이번 글에서는 파일 입출력을 활용한 자바 메모장 프로그램을 구현하는 과정을 저장, 읽기, 관리라는 세 가지 관점에서 정리해 보겠습니다.파일 저장 기능 구현하기메모장의 핵심은 사용자가 입력한 내용을 파일에 안전하게 저장하는 것입니다. 자바에서는 FileWriter, Buf.. 2025. 10. 3.