혹시 커피 한 잔 마시면서 이 글을 보고 계신가요? 사실 자바(Java)라는 이름도 커피에서 왔습니다. 개발 공부를 시작하면 가장 먼저 마주치는 언어 중 하나가 자바인데, 막상 “자바가 뭐야?”라고 물어보면 명확하게 대답하기가 쉽지 않죠.
저도 처음엔 그랬습니다. 비전공자로 개발을 시작하면서 자바라는 단어를 수도 없이 들었지만, 왜 배워야 하는지, 어떤 원리로 작동하는지 아무도 쉽게 설명해주지 않았거든요.
그래서 오늘은 자바가 어떻게 탄생했는지, 핵심 개념은 무엇인지를 비전공자 눈높이에서 쉽게 풀어드리겠습니다.
자바(Java), 이름이 커피에서 왔다고?
프로그래밍 언어 자바(Java)의 이름은 정말로 커피에서 유래했습니다. 1990년대 초, 썬 마이크로시스템즈(Sun Microsystems)의 개발자들은 새로운 프로그래밍 언어를 개발하던 중 이름을 고민했고, 커피를 즐겨 마시던 그들이 최종적으로 ‘Java(자바)’를 선택했습니다. 자바섬 원산지 커피가 그 유래라는 설이 가장 유력합니다.
지금도 자바의 공식 로고가 커피잔인 이유가 바로 여기에 있습니다. ☕
자바는 왜 만들어졌을까? 탄생 배경
자바가 탄생하게 된 배경에는 당시의 기술적 고민이 있었습니다.
1990년대는 개인용 컴퓨터(PC)의 보급이 폭발적으로 늘어나던 시기였습니다. 문제는 Windows, macOS, Linux 등 다양한 운영체제(OS)가 등장하면서 한 OS에서 만든 프로그램이 다른 OS에서는 작동하지 않는 상황이 빈번하게 발생했다는 점입니다.
이 ‘플랫폼 종속성’ 문제를 해결하기 위해 썬 마이크로시스템즈는 야심 찬 목표를 세웁니다.
“Write Once, Run Anywhere”
한 번 작성하면, 어디서든 실행된다.
이 철학이 자바 탄생의 핵심 동기입니다.
Oak에서 Java로: 이름이 바뀐 이유
자바의 초기 이름은 사실 ‘Oak(오크)’였습니다. 개발팀은 이 언어가 가로수처럼 튼튼하고 오래 사용되길 바라는 마음으로 이름을 붙였죠.
그런데 문제가 생겼습니다. ‘Oak’는 이미 다른 곳에서 상표권 등록을 해놓은 상태였습니다. 결국 여러 후보를 검토한 끝에 최종적으로 ‘Java’라는 이름이 선택되었고, 오늘날 우리가 아는 세계적인 프로그래밍 언어가 되었습니다.
참고로 자바는 처음에 가전제품 같은 임베디드 시스템을 위한 언어로 개발되었지만, 인터넷이 급성장하면서 웹 애플리케이션 개발 언어로 크게 각광받게 됩니다.
핵심 개념 ① JVM – “Write Once, Run Anywhere”의 비밀
자바가 어떤 OS에서도 실행될 수 있는 이유는 JVM(Java Virtual Machine, 자바 가상 머신) 덕분입니다.
원리를 쉽게 설명하면 이렇습니다.
- 개발자가 자바 코드(
.java파일)를 작성합니다. - 자바 컴파일러가 이 코드를 바이트코드(
.class파일)로 변환합니다. - 바이트코드는 특정 OS에 종속되지 않는 중간 형태의 언어입니다.
- 각 OS에 설치된 JVM이 바이트코드를 읽어서 해당 OS에 맞는 기계어로 변환하고 실행합니다.
쉽게 말해, JVM은 ‘통역사’ 역할을 합니다. 자바 코드라는 하나의 원본을 각 나라 언어(OS)에 맞게 번역해주는 것이죠.
덕분에 개발자는 하나의 코드만 작성해도 Windows, macOS, Linux 어디서든 동일하게 실행되는 프로그램을 만들 수 있습니다.
핵심 개념 ② 객체 지향 프로그래밍(OOP)
자바는 객체 지향 프로그래밍(OOP, Object-Oriented Programming) 언어입니다. 이 개념이 처음엔 생소할 수 있는데, 현실 세계에 빗대어 이해하면 훨씬 쉽습니다.
OOP의 핵심 개념 4가지
| 개념 | 쉬운 설명 | 예시 |
|---|---|---|
| 클래스(Class) | 객체를 만드는 설계도 | ‘자동차’ 설계도 |
| 객체(Object) | 설계도로 만든 실제 물건 | ‘빨간 스포츠카’ |
| 캡슐화(Encapsulation) | 내부 구조를 감추고 필요한 것만 노출 | 핸들만 조작, 엔진 내부는 몰라도 됨 |
| 상속(Inheritance) | 부모 클래스의 기능을 자식이 물려받음 | ‘스포츠카’가 ‘자동차’ 기능을 그대로 사용 |
| 다형성(Polymorphism) | 같은 명령이 객체마다 다르게 동작 | ‘소리내기’ → 개는 ‘멍멍’, 고양이는 ‘야옹’ |
OOP를 사용하면 코드를 재사용하기 쉽고, 규모가 큰 프로젝트도 체계적으로 관리할 수 있습니다.
핵심 개념 ③ 가비지 컬렉션(Garbage Collection)
자바의 또 다른 강점은 자동 메모리 관리, 즉 가비지 컬렉션(GC)입니다.
C++과 같은 언어에서는 개발자가 직접 메모리를 할당하고 해제해야 했습니다. 이를 제대로 하지 않으면 ‘메모리 누수(Memory Leak)’가 발생해 프로그램이 느려지거나 멈추는 일이 생겼죠.
자바에서는 JVM이 이 과정을 자동으로 처리합니다. 더 이상 사용하지 않는 메모리를 JVM이 알아서 찾아 정리해줍니다. 덕분에 개발자는 메모리 걱정 없이 핵심 로직 개발에 집중할 수 있습니다.
비전공자 입장에서는 “자바는 뒷정리를 알아서 해준다”고 이해하시면 됩니다. 😄
자바(Java)의 주요 장점 6가지
자바가 수십 년째 사랑받는 이유는 분명합니다.
✅ 플랫폼 독립성 – Windows에서 만든 프로그램이 Linux에서도 실행됩니다.
✅ 객체 지향 설계 – 코드 재사용과 유지보수가 쉬워집니다.
✅ 풍부한 라이브러리와 프레임워크 – Spring, Hibernate 등 검증된 도구들이 즐비합니다.
✅ 방대한 커뮤니티 – 전 세계에서 가장 많이 쓰이는 언어 중 하나라 자료가 넘칩니다.
✅ 높은 안정성과 보안성 – 엔터프라이즈 금융 시스템에서도 널리 사용됩니다.
✅ 광범위한 활용 분야 – 웹 개발, 안드로이드 앱, 빅데이터(Hadoop, Spark), 게임(Minecraft)까지 쓰입니다.
자바에 대한 흔한 오해 3가지
① “자바는 느리다?”
과거 JVM의 오버헤드 때문에 생긴 인식입니다. 현대 JVM은 JIT(Just-In-Time) 컴파일러 등으로 대폭 최적화되어, 대부분의 애플리케이션에서는 성능 차이가 거의 없습니다.
② “배우기 너무 어렵다?”
OOP 개념, JVM, 프레임워크 등 익혀야 할 것이 많은 건 사실입니다. 하지만 체계적인 로드맵으로 접근하면 충분히 극복할 수 있습니다. (제가 비전공자로 배운 경험에서 드리는 말씀입니다 😊)
③ “안드로이드는 이제 자바 안 쓴다?”
구글이 Kotlin을 공식 언어로 채택하면서 트렌드가 바뀐 건 맞습니다. 하지만 자바 지식은 코틀린 학습에 큰 도움이 되며, 실무에선 여전히 자바 기반 프로젝트가 많습니다.
자바를 배우려면? 추천 학습 순서
자바를 처음 시작하는 분들께 추천하는 단계입니다.
- 기본 문법 익히기 – 변수, 데이터 타입, 조건문, 반복문, 메서드
- 객체 지향 개념 이해하기 – 클래스, 상속, 다형성, 캡슐화
- JVM과 자바 생태계 살펴보기 – Spring Boot 같은 프레임워크 개념 파악
- 실전 프로젝트 경험 쌓기 – 콘솔 앱 → 웹 앱 → 취업 포트폴리오
마무리: 자바, 지금 배워도 늦지 않았다
자바는 썬 마이크로시스템즈에서 출발해 오라클(Oracle)이 인수한 이후에도 매년 새 버전을 출시하며 꾸준히 진화하고 있습니다. 단순히 ‘오래된 언어’가 아니라, 현재 진행형으로 IT 산업의 핵심을 담당하는 언어입니다.
이름의 유래부터 JVM, OOP, 가비지 컬렉션까지 — 오늘 설명드린 개념들을 기억해두시면 앞으로 자바를 공부하면서 훨씬 큰 그림이 보이실 겁니다.
다음 글에서는 자바 개발 환경(JDK) 설치부터 첫 코드 실행까지 직접 따라할 수 있게 정리해드리겠습니다. 🚀

