자바 튜토리얼: 프로그래밍의 문을 열다
안녕하세요, �码자의 길을 간절히 바라보는 분들! 자바의 흥미로운 세계로 안내해 드릴 수 있어 기쁩니다. 10년 이상 프로그래밍을 가르치며 있었던 저는 자바가 초보자에게 최고의 선택이라고 말할 수 있습니다. 그럼, 이 강력한 언어를 함께 탐험해 보겠습니다!
자바는 무엇인가요?
자바는 1995년에 개발된 이후 소프트웨어 개발의 핵심 부분이 되었으며, 다양한 용도를 가진 오브젝트-지향 프로그래밍 언어입니다. "한 번 쓰고, 어디서든 실행할 수 있음"이라는 철학을 가지고 있어, 자바 가상 머신(JVM)을 지원하는 모든 장치에서 자바 코드를 실행할 수 있습니다.
자바의 주요 특징:
- 플랫폼 독립성
- 오브젝트-지향
- 간단하고 쉽게 배울 수 있음
- 안전성
- 강인하고 신뢰할 수 있음
자바의 첫 프로그램: 헬로, 월드!
클래식한 "헬로, 월드!" 프로그램으로 시작해 보겠습니다. 이 간단한 프로그램은 많은 초보자들이 어떤 프로그래밍 언어든 먼저 작성하는 프로그램입니다.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
이 코드를 분석해 보겠습니다:
-
public class HelloWorld
: HelloWorld라는 공개 클래스를 선언합니다. -
public static void main(String[] args)
: 이는 프로그램의 진입점인 main 메서드입니다. -
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