
자바에서 문자열을 다루다 보면 String만 쓰다가 어느 순간 "StringBuffer나 StringBuilder를 쓰라"는 말을 듣게 된다. 셋 다 문자열을 다루는데 왜 굳이 구분해서 쓸까? 이번 글에서 그 이유를 제대로 파헤쳐 보자.핵심부터 말하면, String은

자바를 배우다 보면 try-catch라는 문법을 마주치게 된다. 처음엔 "그냥 오류 나면 고치면 되지, 왜 이걸 써야 하지?"라는 생각이 들 수 있다. 근데 실제로 프로그램을 짜다 보면 예외처리를 제대로 이해하지 못했을 때 고생하는 경우가 꽤 많다.자바에서 프로그램 실

파일을 읽고 쓰거나, 네트워크로 데이터를 주고받을 때 I/O가 등장한다. I/O는 Input/Output의 약자로, 데이터가 프로그램 안으로 들어오고(Input) 나가는(Output) 것을 말한다. 처음엔 Stream이니 Reader니 하는 클래스가 너무 많아서 어디서

프로그램은 기본적으로 위에서 아래로 순서대로 실행된다. 그런데 파일을 다운로드하면서 동시에 다른 작업을 할 수 있는 건 어떻게 가능한 걸까? 그 답이 바로 스레드다.스레드는 프로그램 안에서 독립적으로 실행되는 작업 단위다.하나의 프로세스(실행 중인 프로그램) 안에서 여