Java Intro
Introduction to Java: 자바 입문 가이드
Java는 **오라클(Oracle)**에서 개발한 객체 지향 프로그래밍 언어로, 강력하고 널리 사용되는 다목적 언어입니다. Write Once, Run Anywhere(한 번 작성하면 어디서나 실행)라는 철학을 가지고 있어, 다양한 플랫폼에서 동일한 코드를 실행할 수 있다는 특징을 가지고 있습니다.
이 가이드는 Java의 기본 개념과 특징을 설명하고, 첫 번째 자바 프로그램을 작성하는 방법을 소개합니다.
1. Java의 주요 특징
1.1. 객체 지향 언어
- Java는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 패러다임을 따르며, 데이터를 객체로 묶어 처리합니다. 클래스, 객체, 상속, 다형성, 추상화, 캡슐화와 같은 개념이 핵심입니다.
1.2. 플랫폼 독립성
- 자바는 **바이트코드(bytecode)**라는 중간 코드를 사용해 Java Virtual Machine(JVM) 위에서 실행됩니다. 이로 인해 운영체제에 상관없이 Java 프로그램을 실행할 수 있습니다.
- 즉, Java 프로그램은 다양한 운영체제(Windows, Mac, Linux 등)에서 동일하게 동작합니다.
1.3. 안전성 및 보안성
- Java는 메모리 관리에서 **가비지 컬렉션(Garbage Collection)**을 사용해 메모리 누수와 같은 문제를 줄여줍니다. 또한, 기본적으로 강력한 보안 기능을 제공해 안전한 네트워크 애플리케이션을 개발할 수 있습니다.
1.4. 멀티스레딩 지원
- 자바는 멀티스레딩을 기본으로 지원하여 동시에 여러 작업을 처리하는 기능을 제공합니다. 이를 통해 복잡한 작업을 빠르게 처리할 수 있습니다.
1.5. 풍부한 표준 라이브러리
- 자바는 다양한 표준 라이브러리(API)를 제공하여 파일 입출력, 네트워크 통신, 데이터베이스 연결, GUI 작성 등의 기능을 쉽게 구현할 수 있습니다.
2. Java 개발 환경 설정
Java 프로그램을 작성하려면 **Java Development Kit(JDK)**가 필요합니다. JDK는 자바 컴파일러, 자바 실행기, 표준 라이브러리 등이 포함된 소프트웨어 패키지입니다.
2.1. Java 설치
- Oracle의 공식 웹사이트에서 JDK를 다운로드하고 설치합니다.
- 설치 후, 명령줄 또는 터미널에서 다음 명령어를 입력해 Java가 정상적으로 설치되었는지 확인합니다:
-version
2.2. IDE 선택
- *통합 개발 환경(IDE)**는 Java 프로그램을 쉽게 작성하고 디버깅할 수 있는 도구입니다. 대표적인 Java IDE는 다음과 같습니다:
- Eclipse
- IntelliJ IDEA
- NetBeans
3. 첫 번째 Java 프로그램
다음은 Java에서 **"Hello, World!"**를 출력하는 가장 기본적인 프로그램입니다.
3.1. 프로그램 예시
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
3.2. 코드 설명
public class HelloWorld
: 자바는 모든 코드를 클래스 안에 작성합니다.HelloWorld
라는 이름의 클래스를 정의합니다.public static void main(String[] args)
: 자바 애플리케이션의 시작점은main
메소드입니다. 프로그램이 실행될 때, 이 메소드가 가장 먼저 호출됩니다.System.out.println("Hello, World!");
: 표준 출력장치(콘솔)에 **"Hello, World!"**를 출력하는 명령어입니다.
3.3. 프로그램 실행
- 파일 이름을 **
HelloWorld.java
*로 저장합니다. - 명령줄 또는 터미널에서 파일이 저장된 디렉토리로 이동한 후, 다음 명령을 실행하여 프로그램을 컴파일합니다:
c HelloWorld.java
- 컴파일이 완료되면
HelloWorld.class
파일이 생성됩니다. 이제 프로그램을 실행합니다:
HelloWorld
- 콘솔에 **
Hello, World!
*가 출력됩니다.
4. Java의 기본 개념
4.1. 데이터 타입
Java는 기본 데이터 타입(Primitive Data Types)과 참조 데이터 타입(Reference Data Types)으로 나뉩니다.
- 기본 데이터 타입:
int
,float
,double
,char
,boolean
,byte
,short
,long
- 참조 데이터 타입: 객체, 배열, 클래스 등
int number = 10;
double price = 19.99;
char letter = 'A';
boolean isTrue = true;
4.2. 제어문
Java는 여러 제어문을 사용하여 조건에 따라 코드 흐름을 제어할 수 있습니다.
- if-else 문:
int a = 5;
if (a > 0) {
System.out.println("Positive");
} else {
System.out.println("Negative");
}
- for 문:
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
- while 문:
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
4.3. 클래스와 객체
Java는 객체 지향 프로그래밍을 기반으로 하기 때문에 클래스와 객체 개념이 매우 중요합니다. 클래스는 객체를 생성하기 위한 **청사진(blueprint)**입니다.
public class Car {
// 필드
String model;
int year;
// 메소드
public void drive() {
System.out.println(model + " is driving.");
}
public static void main(String[] args) {
// 객체 생성
Car myCar = new Car();
myCar.model = "Tesla";
myCar.year = 2023;
myCar.drive(); // 출력: Tesla is driving.
}
}
5. Java의 활용 분야
Java는 다양한 분야에서 사용되는 범용 프로그래밍 언어입니다:
- 웹 애플리케이션: Java는 Spring, Hibernate, JSP 같은 프레임워크를 사용해 웹 애플리케이션을 개발할 수 있습니다.
- 모바일 애플리케이션: Java는 Android 개발에 사용되는 주 언어입니다.
- 엔터프라이즈 애플리케이션: 대규모 시스템, 금융 소프트웨어, 사내 ERP 시스템 등을 개발하는 데 널리 사용됩니다.
- 데스크톱 애플리케이션: Java는 Swing, JavaFX 같은 도구를 통해 GUI 기반의 데스크톱 애플리케이션을 만들 수 있습니다.
요약
Java는 객체 지향적이며, 다양한 플랫폼에서 실행 가능한 강력한 프로그래밍 언어입니다. 자바의 주요 특징인 플랫폼 독립성, 안전성, 멀티스레딩 지원 등을 통해, 웹, 모바일, 데스크톱 애플리케이션 등 다양한 분야에서 널리 사용되고 있습니다.