안녕하세요! 오늘은 프로그래밍의 든든한 기초이자 다재다능한 언어, 바로 자바 (Java) 의 세계로 여러분을 안내하는 시간을 갖겠습니다. 자바는 웹, 모바일, 엔터프라이즈, 임베디드 시스템까지, 정말 다양한 분야에서 활약하는 매력적인 언어입니다.
이번 포스팅은 자바 학습을 시작하기 위한 준비 운동과 같은 장으로, 자바가 무엇인지, 왜 배워야 하는지, 개발 환경은 어떻게 구축하는지, 그리고 첫 자바 프로그램을 실행하는 방법까지, 자바 학습의 첫 단추를 꿰는 데 필요한 모든 것을 담았습니다. 함께 자바의 매력에 푹 빠져볼까요? 😉
📚 자바란 무엇일까요? (역사, 특징, 장점)
자바 (Java) 는 1995년 썬 마이크로시스템즈에서 개발된 객체 지향 프로그래밍 언어입니다. "Write Once, Run Anywhere (WORA)"라는 슬로건처럼, 한 번 작성된 코드는 어디서든 실행된다는 강력한 특징을 가지고 있습니다.
🕰️ 자바의 역사
자바는 원래 가전제품에 내장될 소프트웨어를 만들기 위해 개발되었습니다. 초기 이름은 "Oak"였지만, 커피 이름인 "Java"로 변경되었고, 자바 로고 역시 커피잔 모양을 하고 있습니다. 이후 인터넷 시대가 도래하면서 자바는 웹 애플리케이션 개발에 최적화된 언어로 각광받게 되었고, 현재는 가장 널리 사용되는 프로그래밍 언어 중 하나로 자리매김했습니다.
✨ 자바의 주요 특징
- 객체 지향 프로그래밍 (OOP, Object-Oriented Programming): 자바는 객체 지향 프로그래밍 패러다임을 완벽하게 지원합니다. 코드 재사용성, 유지보수 용이성, 확장성 등 다양한 장점을 제공하며, 실제 세계를 모델링하여 프로그램을 설계하는 데 효과적입니다.
- 플랫폼 독립성 (Platform Independence): 자바 코드는 JVM (Java Virtual Machine) 위에서 실행되기 때문에, 운영체제 (Windows, macOS, Linux 등) 에 상관없이 동일하게 동작합니다. 덕분에 개발 환경과 배포 환경이 달라도 문제없이 프로그램을 실행할 수 있습니다.
- 자동 메모리 관리 (Garbage Collection): 자바는 가비지 컬렉터 (Garbage Collector) 를 통해 더 이상 사용하지 않는 메모리를 자동으로 회수합니다. 개발자는 메모리 관리에 대한 부담을 덜고, 프로그램 로직에 집중할 수 있습니다.
- 멀티스레드 (Multi-threading) 지원: 자바는 멀티스레드 프로그래밍을 쉽게 구현할 수 있도록 지원합니다. 하나의 프로그램이 여러 작업을 동시에 처리할 수 있어, 효율적인 시스템 개발이 가능합니다.
- 풍부한 API (Application Programming Interface): 자바는 방대하고 강력한 API 라이브러리를 제공합니다. 개발자들은 이미 만들어진 다양한 기능을 활용하여 쉽고 빠르게 프로그램을 개발할 수 있습니다.
👍 자바의 장점
- 높은 이식성: "WORA" 슬로건처럼, 플랫폼에 독립적이라는 것은 자바의 가장 큰 장점 중 하나입니다.
- 뛰어난 안정성: 오랜 기간 동안 많은 개발자들에 의해 사용되어 검증된 언어이며, 강력한 타입 검사, 예외 처리 기능 등을 통해 안정적인 프로그램 개발을 지원합니다.
- 활발한 커뮤니티: 자바는 전 세계적으로 가장 큰 개발자 커뮤니티를 가지고 있습니다. 풍부한 정보와 자료를 쉽게 얻을 수 있으며, 문제 발생 시 도움을 받기도 용이합니다.
- 다양한 분야에 활용: 웹, 모바일 (Android), 엔터프라이즈, 빅데이터, 게임, 임베디드 시스템 등 정말 다양한 분야에서 활용됩니다. 자바 하나만 제대로 배워두면, 개발자로서 커리어를 넓혀나가는 데 매우 유리합니다.
- 높은 수요: 기업체 및 IT 업계에서 자바 개발자에 대한 수요는 꾸준히 높습니다. 자바 개발 능력을 갖추면 취업 및 연봉 협상에 유리하며, 안정적인 커리어를 쌓을 수 있습니다.
💻 자바 개발 환경 구축하기 (JDK 설치, IDE 소개)
자바 프로그램을 개발하기 위해서는 몇 가지 필수적인 도구들이 필요합니다. 이번 섹션에서는 자바 개발 환경을 구축하는 방법을 단계별로 안내해 드립니다.
🛠️ JDK (Java Development Kit) 설치
JDK (Java Development Kit) 는 자바 개발에 필요한 핵심 도구들을 모아놓은 패키지입니다. JDK에는 자바 컴파일러 (javac), 자바 런처 (java), 표준 자바 라이브러리 (Java API) 등이 포함되어 있습니다. JDK를 설치해야 자바 프로그램을 개발하고 실행할 수 있습니다.
- Oracle JDK 또는 OpenJDK 다운로드: JDK는 Oracle JDK와 OpenJDK 두 가지 주요 배포판이 있습니다. OpenJDK는 오픈 소스 기반이며, Oracle JDK는 상업적인 용도로 사용 시 라이선스 정책을 확인해야 합니다. 학습 목적이라면 OpenJDK를 사용해도 충분합니다.
- OpenJDK 다운로드: https://jdk.java.net/ 또는 https://adoptopenjdk.net/ 에서 운영체제에 맞는 JDK 버전을 다운로드합니다. (최신 LTS 버전을 추천합니다. 현재 2025년 기준 최신 LTS 버전은 Java 21 입니다.)
- Oracle JDK 다운로드: https://www.oracle.com/java/technologies/javase-jdk-downloads.html 에서 다운로드합니다. Oracle 계정 로그인 및 라이선스 동의가 필요할 수 있습니다.
- JDK 설치: 다운로드한 설치 파일을 실행하여 JDK를 설치합니다. 설치 과정은 운영체제에 따라 조금씩 다를 수 있지만, 대부분 "다음", "다음" 버튼을 클릭하는 방식으로 진행됩니다. 설치 경로를 잘 기억해두세요.
- 환경 변수 설정 (JAVA_HOME, PATH): JDK 설치 후에는 환경 변수를 설정해야 합니다. 환경 변수 설정을 통해 시스템 어디에서든 javac, java 명령어를 실행할 수 있게 됩니다.
- Windows: "시스템 환경 변수 편집" 검색 -> "환경 변수" -> "시스템 변수" 에서 JAVA_HOME 변수를 새로 만들고, 변수 값에 JDK 설치 경로 (예: C:\Program Files\Java\jdk-21) 를 입력합니다. Path 변수를 편집하여 %JAVA_HOME%\bin 을 추가합니다.
- macOS/Linux: 터미널을 열고, ~/.bash_profile 또는 ~/.zshrc 파일에 다음과 같은 내용을 추가합니다. (JDK 설치 경로에 맞춰 수정하세요.)파일 수정 후에는 source ~/.bash_profile 또는 source ~/.zshrc 명령어를 실행하여 변경된 환경 변수를 적용합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH
- macOS/Linux: 터미널을 열고, ~/.bash_profile 또는 ~/.zshrc 파일에 다음과 같은 내용을 추가합니다. (JDK 설치 경로에 맞춰 수정하세요.)파일 수정 후에는 source ~/.bash_profile 또는 source ~/.zshrc 명령어를 실행하여 변경된 환경 변수를 적용합니다.
- JDK 설치 확인: 터미널 또는 명령 프롬프트를 열고 java -version 명령어를 실행합니다. JDK 버전 정보가 정상적으로 출력되면 JDK 설치 및 환경 변수 설정이 완료된 것입니다. [Image of command line output for java -version]
💡 IDE (Integrated Development Environment) 소개 - IntelliJ IDEA, Eclipse 등
IDE (Integrated Development Environment) 는 코드 작성, 컴파일, 디버깅, 실행 등 개발에 필요한 모든 기능을 통합적으로 제공하는 개발 도구입니다. IDE를 사용하면 개발 생산성을 크게 향상시킬 수 있습니다. 자바 개발에 널리 사용되는 대표적인 IDE는 다음과 같습니다.
- IntelliJ IDEA: JetBrains 사에서 개발한 자바 IDE로, 강력한 코드 분석, 자동 완성, 리팩토링, 디버깅 기능을 제공합니다. 유료 버전 (Ultimate) 과 무료 버전 (Community) 이 있으며, Java 개발에 특화되어 있습니다.
- Eclipse: 오픈 소스 기반의 IDE로, 다양한 플러그인을 통해 자바뿐만 아니라 C++, Python, PHP 등 다양한 언어를 지원합니다. 무료로 사용할 수 있으며, 활발한 커뮤니티를 가지고 있습니다.
- Visual Studio Code (VS Code): Microsoft 사에서 개발한 경량 코드 에디터로, 확장 기능을 통해 다양한 언어를 지원합니다. 자바 개발을 위한 확장 기능 (Java Extension Pack) 을 설치하면 기본적인 자바 개발 환경을 구축할 수 있습니다.
본 튜토리얼에서는 IntelliJ IDEA Community Edition 을 기준으로 설명하지만, Eclipse, VS Code 등 어떤 IDE를 사용해도 무방합니다. 자신에게 맞는 IDE를 선택하여 설치하고, 자바 개발 환경을 구축해 보세요. 각 IDE 설치 및 사용법은 공식 홈페이지 또는 온라인 튜토리얼을 참고하시기 바랍니다.
📝 첫 번째 자바 프로그램 작성 및 실행 (Hello, Java!)
자, 이제 설레는 첫 자바 프로그램을 작성하고 실행해 볼까요? 전통적으로 프로그래밍 입문 시 가장 먼저 작성하는 프로그램은 화면에 "Hello, World!" 를 출력하는 프로그램입니다. 우리는 "Hello, Java!" 를 출력하는 프로그램을 만들어 보겠습니다.
- 소스 코드 작성: IDE 또는 텍스트 에디터를 열고, 다음과 같이 코드를 작성합니다. 파일 이름은 HelloJava.java 로 저장합니다. (확장자 .java 에 주의하세요!)
- public class HelloJava: HelloJava 라는 이름의 클래스를 정의합니다. 자바 프로그램은 하나 이상의 클래스로 구성됩니다.
- public static void main(String[] args): main 메소드는 자바 프로그램의 시작점 입니다. 프로그램 실행 시 JVM은 main 메소드를 찾아서 실행합니다.
- System.out.println("Hello, Java!");: System.out.println() 은 괄호 안에 있는 내용을 콘솔 (화면) 에 출력하는 명령어입니다. 여기서는 "Hello, Java!" 라는 문자열을 출력합니다.
-
public class HelloJava { public static void main(String[] args) { System.out.println("Hello, Java!"); } }
- 컴파일 (Compile): 작성한 자바 소스 코드 (.java 파일) 를 컴퓨터가 이해할 수 있는 바이트 코드 (.class 파일) 로 변환하는 과정입니다. 터미널 또는 명령 프롬프트를 열고, 소스 코드가 저장된 디렉토리로 이동한 후, 다음과 같이 javac 명령어를 실행합니다.컴파일이 성공적으로 완료되면, HelloJava.class 라는 파일이 생성됩니다. 컴파일 에러가 발생하면, 에러 메시지를 확인하고 코드를 수정해야 합니다.
-
javac HelloJava.java
- 실행 (Run): 컴파일된 바이트 코드 (.class 파일) 를 JVM 위에서 실행하는 과정입니다. 같은 터미널 또는 명령 프롬프트에서 다음과 같이 java 명령어를 실행합니다.실행 결과, 콘솔에 "Hello, Java!" 라는 메시지가 출력되면 성공입니다! 🎉 첫 자바 프로그램 실행을 축하합니다!
-
java HelloJava
🛠️ 자바 개발 도구 소개 (javac, java)
자바 개발의 핵심 도구는 javac (자바 컴파일러) 와 java (자바 런처) 입니다.
- javac (Java Compiler): 자바 소스 코드 (.java 파일) 를 바이트 코드 (.class 파일) 로 컴파일하는 도구입니다. 컴파일 과정에서 문법 오류 등을 검사하고, 바이트 코드 파일을 생성합니다. 생성된 바이트 코드는 플랫폼에 독립적이며, JVM 위에서 실행될 수 있습니다.
- java (Java Launcher): 자바 바이트 코드 (.class 파일) 를 JVM 위에서 실행하는 도구입니다. 실행할 클래스 이름을 인자로 받아, 해당 클래스의 main 메소드를 실행합니다.
이 외에도 jar (Java Archive), javadoc (Java Documentation Generator) 등 다양한 자바 개발 도구들이 JDK에 포함되어 있습니다. 앞으로 자바 학습을 진행하면서, 필요에 따라 다양한 도구들을 익히게 될 것입니다.
🗺️ 자바 학습 로드맵 및 팁 제시
자바는 깊이 있고 넓은 학습 범위를 가진 언어입니다. 자바 학습 로드맵은 개인의 목표와 배경에 따라 달라질 수 있지만, 일반적인 학습 로드맵과 몇 가지 팁을 제시해 드립니다.
📚 일반적인 자바 학습 로드맵
- 자바 기본 문법 학습: 변수, 자료형, 연산자, 조건문, 반복문, 배열 등 기본적인 프로그래밍 개념과 자바 문법을 익힙니다. 온라인 강의, 서적, 튜토리얼 등 다양한 학습 자료를 활용할 수 있습니다.
- 객체 지향 프로그래밍 (OOP) 학습: 클래스, 객체, 상속, 다형성, 캡슐화 등 객체 지향 프로그래밍의 핵심 개념을 깊이 있게 학습합니다. 객체 지향 프로그래밍은 자바의 핵심 패러다임이며, 탄탄하게 이해하는 것이 중요합니다.
- 자바 API 라이브러리 학습: 자바가 제공하는 풍부한 API 라이브러리를 학습합니다. 특히, 컬렉션 프레임워크, 입출력 (IO), 스레드, 네트워크, JDBC (데이터베이스 연동) 등 자주 사용되는 API들을 중심으로 학습합니다.
- 자바 프레임워크 학습: Spring Framework, Spring Boot, Java EE 등 실무에서 널리 사용되는 자바 프레임워크를 학습합니다. 프레임워크를 통해 효율적인 개발, 생산성 향상을 꾀할 수 있습니다. (웹 개발, 엔터프라이즈 개발 등 목표 분야에 따라 필요한 프레임워크를 선택하여 학습합니다.)
- 실전 프로젝트 경험: 학습한 내용을 바탕으로 실제 프로젝트를 진행하면서 실력 향상을 꾀합니다. 개인 프로젝트, 오픈 소스 프로젝트 참여, 스터디 그룹 활동 등 다양한 방법으로 프로젝트 경험을 쌓을 수 있습니다.
✅ 결론: 자바 학습, 지금 바로 시작하세요!
이번 포스팅에서는 자바 프로그래밍 언어에 대한 기본적인 소개와 개발 환경 구축 방법, 첫 프로그램 실행까지, 자바 학습의 첫걸음을 위한 내용을 다루었습니다. 자바는 배우기 쉽지 않은 언어일 수 있지만, 탄탄한 기본기를 다지고 꾸준히 노력한다면, 여러분도 자바 개발 전문가가 될 수 있습니다!
다음 포스팅에서는 자바의 기본 문법 (변수, 자료형, 연산자 등) 에 대해 더 자세히 알아보겠습니다. 자바의 세계로 함께 나아갈 준비 되셨나요? 🚀
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA]자바의 심장을 꿰뚫다! 객체 지향 프로그래밍 (OOP) 완벽 정복 🚀 (9) | 2025.02.27 |
---|---|
[JAVA]자바 프로그래밍의 튼튼한 뼈대 세우기: 기본 문법 완벽 마스터 🚀 (11) | 2025.02.27 |
[JAVA]자바 추상 클래스와 인터페이스 완벽 분석: 선택 가이드와 활용법 🚀 (8) | 2025.02.26 |
[SpringBoot]스프링부트 성능 최적화🚀🚀 (0) | 2024.12.23 |
[SpringBoot]스프링부트 애플리케이션 배포 🚀😄 (1) | 2024.12.20 |