코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java Examples

Java Examples: 기본적인 자바 예제 코드


Java는 객체 지향 프로그래밍 언어로, 다양한 기능을 제공하며 강력한 플랫폼입니다. 이 가이드는 기본적인 자바 프로그램 예제를 통해 자바의 주요 개념을 설명합니다.


1. Hello World 출력

자바에서 가장 기본적인 프로그램은 "Hello, World!"를 출력하는 프로그램입니다.

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

  • 설명:
    • public class HelloWorld: 자바 프로그램의 클래스 이름. 자바는 클래스 기반 언어입니다.
    • public static void main(String[] args): 프로그램이 시작되는 메인 메서드입니다.
    • System.out.println(): 콘솔에 문자열을 출력합니다.

2. 변수와 데이터 타입

자바에서 변수는 데이터를 저장하는 기본 단위입니다. 변수는 특정 데이터 타입을 가집니다.

public class Variables {
    public static void main(String[] args) {
        int number = 10;        // 정수형 변수
        double pi = 3.14159;    // 실수형 변수
        char letter = 'A';      // 문자형 변수
        boolean isJavaFun = true; // 논리형 변수

        System.out.println("정수: " + number);
        System.out.println("실수: " + pi);
        System.out.println("문자: " + letter);
        System.out.println("자바가 재미있는가? " + isJavaFun);
    }
}

  • 설명:
    • int: 정수형 데이터 타입.
    • double: 실수형 데이터 타입.
    • char: 단일 문자를 저장하는 데이터 타입.
    • boolean: 논리형으로 참(true) 또는 거짓(false)을 저장합니다.

3. 조건문 (if-else)

자바에서 조건문은 특정 조건에 따라 다른 코드를 실행하는 구조입니다.

public class ConditionalStatements {
    public static void main(String[] args) {
        int age = 20;

        if (age >= 18) {
            System.out.println("성인입니다.");
        } else {
            System.out.println("미성년자입니다.");
        }
    }
}

  • 설명:
    • if 조건이 참일 때 코드 블록이 실행됩니다. 그렇지 않을 경우 else 블록이 실행됩니다.

4. 반복문 (for loop)

for 반복문은 특정 코드 블록을 반복적으로 실행할 때 사용합니다.

public class Loops {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            System.out.println("카운트: " + i);
        }
    }
}

  • 설명:
    • for (초기값; 조건; 증감) 구조를 가지고, 조건이 참인 동안 반복합니다.

5. 배열

배열은 동일한 데이터 타입의 여러 값을 저장하는 자료 구조입니다.

public class ArraysExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};  // 정수형 배열

        // 배열의 각 요소 출력
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }
    }
}

  • 설명:
    • int[] numbers: 정수형 배열 선언.
    • 배열의 길이는 numbers.length로 확인할 수 있습니다.

6. 메서드 (함수)

메서드는 반복적으로 사용할 코드를 별도로 정의하고 호출할 수 있는 구조입니다.

public class MethodsExample {
    public static void main(String[] args) {
        int result = addNumbers(5, 10);  // 메서드 호출
        System.out.println("더한 값: " + result);
    }

    // 두 수를 더하는 메서드
    public static int addNumbers(int a, int b) {
        return a + b;
    }
}

  • 설명:
    • public static int addNumbers(int a, int b): 두 개의 정수를 더하고 결과를 반환하는 메서드입니다.
    • return: 메서드의 결과 값을 반환합니다.

7. 클래스와 객체

자바는 객체 지향 프로그래밍 언어로, 클래스는 객체를 생성하는 틀입니다.

class Car {
    // 필드
    String model;
    int year;

    // 생성자
    public Car(String model, int year) {
        this.model = model;
        this.year = year;
    }

    // 메서드
    public void displayInfo() {
        System.out.println("차 모델: " + model + ", 제작 연도: " + year);
    }
}

public class ClassesExample {
    public static void main(String[] args) {
        Car myCar = new Car("Tesla", 2022);  // 객체 생성
        myCar.displayInfo();  // 메서드 호출
    }
}

  • 설명:
    • Car: 자동차를 나타내는 클래스.
    • new Car(): 클래스를 기반으로 객체를 생성.
    • displayInfo(): 객체의 정보를 출력하는 메서드.

8. 상속 (Inheritance)

상속은 기존 클래스의 기능을 확장하여 새로운 클래스를 정의하는 구조입니다.

// 부모 클래스
class Animal {
    public void eat() {
        System.out.println("동물이 먹고 있습니다.");
    }
}

// 자식 클래스
class Dog extends Animal {
    public void bark() {
        System.out.println("강아지가 짖고 있습니다.");
    }
}

public class InheritanceExample {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.eat();  // 부모 클래스의 메서드 사용
        myDog.bark(); // 자식 클래스의 메서드 사용
    }
}

  • 설명:
    • class Dog extends Animal: Dog 클래스는 Animal 클래스를 상속받습니다.
    • 상속받은 클래스는 부모 클래스의 메서드와 필드를 사용할 수 있습니다.

9. 예외 처리 (Exception Handling)

자바는 프로그램에서 발생할 수 있는 오류를 예외라고 부르며, 예외를 처리하기 위한 구조를 제공합니다.

public class ExceptionHandling {
    public static void main(String[] args) {
        try {
            int[] numbers = {1, 2, 3};
            System.out.println(numbers[5]);  // 오류 발생 (인덱스 범위 초과)
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("배열 인덱스가 범위를 벗어났습니다.");
        } finally {
            System.out.println("예외 처리가 완료되었습니다.");
        }
    }
}

  • 설명:
    • try 블록에서 예외가 발생할 가능성이 있는 코드를 실행합니다.
    • catch 블록에서 예외가 발생했을 때의 대처 코드를 작성합니다.
    • finally 블록은 예외 발생 여부와 관계없이 실행됩니다.

10. 파일 입출력 (I/O)

자바에서는 파일을 읽고 쓰는 작업을 할 수 있습니다.

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileIOExample {
    public static void main(String[] args) {
        // 파일에 쓰기
        try {
            FileWriter writer = new FileWriter("example.txt");
            writer.write("Hello, Java!");
            writer.close();
            System.out.println("파일에 데이터가 저장되었습니다.");
        } catch (IOException e) {
            System.out.println("파일 쓰기 중 오류 발생.");
        }

        // 파일 읽기
        try {
            File file = new File("example.txt");
            Scanner reader = new Scanner(file);
            while (reader.hasNextLine()) {
                String data = reader.nextLine();
                System.out.println("파일 내용: " + data);
            }
            reader.close();
        } catch (IOException e) {
            System.out.println("파일 읽기 중 오류 발생.");
        }
    }
}

  • 설명:
    • FileWriter: 파일에 데이터를 씁니다.
    • Scanner: 파일에서 데이터를 읽습니다.

요약

이 가이드는 자바의 기본적인 개념과 문법을 예제 코드로 설명합니다. 변수, 조건문, 반복문부터 클래스와 객체, 상속, 예외 처리까지 자바의 주요 기능을 이해하는 데 도움이 될 것입니다. 자바는 강력한 객체 지향 언어로, 이 예제들을 통해 자바의 기초를 익힐 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com