자바 튜토리얼: 프로그래밍의 문을 열다

안녕하세요, �码자의 길을 간절히 바라보는 분들! 자바의 흥미로운 세계로 안내해 드릴 수 있어 기쁩니다. 10년 이상 프로그래밍을 가르치며 있었던 저는 자바가 초보자에게 최고의 선택이라고 말할 수 있습니다. 그럼, 이 강력한 언어를 함께 탐험해 보겠습니다!

Java - Home

자바는 무엇인가요?

자바는 1995년에 개발된 이후 소프트웨어 개발의 핵심 부분이 되었으며, 다양한 용도를 가진 오브젝트-지향 프로그래밍 언어입니다. "한 번 쓰고, 어디서든 실행할 수 있음"이라는 철학을 가지고 있어, 자바 가상 머신(JVM)을 지원하는 모든 장치에서 자바 코드를 실행할 수 있습니다.

자바의 주요 특징:

  1. 플랫폼 독립성
  2. 오브젝트-지향
  3. 간단하고 쉽게 배울 수 있음
  4. 안전성
  5. 강인하고 신뢰할 수 있음

자바의 첫 프로그램: 헬로, 월드!

클래식한 "헬로, 월드!" 프로그램으로 시작해 보겠습니다. 이 간단한 프로그램은 많은 초보자들이 어떤 프로그래밍 언어든 먼저 작성하는 프로그램입니다.

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

이 코드를 분석해 보겠습니다:

  1. public class HelloWorld: HelloWorld라는 공개 클래스를 선언합니다.
  2. public static void main(String[] args): 이는 프로그램의 진입점인 main 메서드입니다.
  3. System.out.println("Hello, World!");: 이 줄은 콘솔에 "Hello, World!"를 출력합니다.

이 프로그램을 실행하면 화면에 "Hello, World!"가 표시됩니다. 축하합니다! 자신의 첫 자바 프로그램을 작성하셨습니다.

자바의 제어 문

제어 문은 모든 프로그래밍 언어의 배후에 있는 중요한 부분입니다. 이들은 프로그램의 흐름을 제어할 수 있게 해줍니다. 자바에서 몇 가지 주요 제어 문을 살펴보겠습니다.

If-Else 문

if-else 문은 조건에 따라 다른 코드 블록을 실행할 수 있게 합니다.

int age = 18;

if (age >= 18) {
System.out.println("투표할 수 있습니다!");
} else {
System.out.println("죄송합니다, 투표할 수 없습니다.");
}

이 예제에서는 만 18세 이상이면 투표할 수 있음을 출력하고, 그렇지 않으면 투표할 수 없음을 출력합니다.

For 루프

for 루프는 코드 블록을 몇 번 실행할지 알 때 사용합니다.

for (int i = 1; i <= 5; i++) {
System.out.println("카운트: " + i);
}

이 루프는 1부터 5까지의 숫자를 출력합니다.

While 루프

while 루프는 조건이 참인 동안 코드 블록을 실행합니다.

int count = 0;
while (count < 5) {
System.out.println("카운트: " + count);
count++;
}

이 루프는 0부터 4까지의 숫자를 출력합니다.

오브젝트-지향 프로그래밍 (OOP)

자바는 오브젝트-지향 프로그래밍 언어입니다. 이는 "오브젝트"라는 개념을 기반으로 하고 있으며, 데이터와 코드를 포함하고 있습니다. 이 개념을 더 잘 이해하기 위해 간단한 클래스를 만들어 보겠습니다.

public class Dog {
String name;
int age;

public void bark() {
System.out.println(name + " says: 왈왈!");
}
}

public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.name = "바디";
myDog.age = 3;
myDog.bark();
}
}

이 예제에서는 Dog 클래스를 만들었으며, 속성(이름과 나이)과 메서드(울음)를 가지고 있습니다. 그런 다음 Main 클래스에서 이 클래스의 인스턴스를 생성하고 사용합니다.

자바의 내장 클래스

자바는 여러 가지 내장 클래스를 제공하여我们的生活를 더 쉽게 만듭니다. 몇 가지를 살펴보겠습니다:

String 클래스

String 클래스는 문자열을 생성하고 조작하는 데 사용됩니다.

String greeting = "Hello, Java!";
System.out.println(greeting.length());  // 출력: 12
System.out.println(greeting.toUpperCase());  // 출력: HELLO, JAVA!

ArrayList 클래스

ArrayList는 자바에서 동적 배열 구현입니다.

import java.util.ArrayList;

ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");

System.out.println(fruits);  // 출력: [Apple, Banana, Cherry]

자바의 파일 처리

파일 처리는 많은 응용프로그램에서 중요합니다. 자바에서 파일에 쓰는 방법을 살펴보겠습니다:

import java.io.FileWriter;
import java.io.IOException;

public class FileWriteExample {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("output.txt");
writer.write("Hello, File!");
writer.close();
System.out.println("파일에 성공적으로 써졌습니다.");
} catch (IOException e) {
System.out.println("에러가 발생했습니다.");
e.printStackTrace();
}
}
}

이 프로그램은 "output.txt"라는 파일을 생성하고 "Hello, File!"를 씁니다.

자바의 오류 및 예외 처리

오류 처리는 강력한 자바 프로그램을 작성하는 데 중요한 부분입니다. 간단한 예제를 살펴보겠습니다:

public class ExceptionExample {
public static void main(String[] args) {
try {
int[] numbers = {1, 2, 3};
System.out.println(numbers[3]);  // 이는 예외를 발생시킵니다
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("배열 인덱스가 범위를 벗어났습니다!");
}
}
}

이 프로그램은 존재하지 않는 배열 요소에 접근을 시도합니다. 프로그램이 죽지 않고 예외를 잡아서 친절한 메시지를 출력합니다.

결론

우리는 자바 프로그래밍의 표면을 밀어넘어 보았습니다. 여러분의 여정이 계속되면 이 언어의 강력성과 유연성을 발견하게 될 것입니다. 프로그래밍은 연습에 따라 능숙해질 능력이니, 실험하고 실수하며 그 속에서 배우는 것을 두려워 마세요.

저는 수많은 학생들이 완전한 초보자에서 자투리 자바 개발자로 성장하였을 것을 본 적이 많습니다. 깊은 결심과 인내심을 가지고 있다면, 여러분도 할 수 있습니다! 코딩을 즐겁게!

Credits: Image by storyset