코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java Syntax

Java Syntax: 자바 문법 기초 가이드

Java는 객체 지향 프로그래밍(OOP) 언어로, 엄격한 구문 규칙을 가지고 있습니다. Java 프로그램은 클래스로 구성되며, 프로그램의 **진입점(entry point)**은 항상 main 메소드입니다. 이 가이드는 Java의 기본 구문 및 문법을 소개하고, Java 프로그램을 작성하는 방법을 설명합니다.


1. 기본 Java 프로그램 구조

Java 프로그램은 다음과 같은 기본 구조로 이루어집니다:

public class ClassName {
    public static void main(String[] args) {
        // 프로그램 실행 시작점
        System.out.println("Hello, World!");
    }
}

코드 설명:

  • public class ClassName: 모든 Java 코드는 클래스 내부에 있어야 하며, 클래스 이름은 파일 이름과 같아야 합니다.
  • public static void main(String[] args): Java 애플리케이션의 **진입점(entry point)**입니다. 프로그램이 실행될 때 main 메소드가 가장 먼저 호출됩니다.
  • System.out.println(): 표준 출력장치(콘솔)에 메시지를 출력하는 명령어입니다.

2. Java 기본 문법

2.1. 주석(Comment)

Java에서 주석은 코드에 대한 설명을 추가할 때 사용되며, 프로그램 실행에는 영향을 미치지 않습니다.

  • 단일 행 주석: //
  • 여러 행 주석: /* ... */
// 이 코드는 Hello, World!를 출력합니다.
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); // 단일 행 주석
        /* 여러 줄 주석
           여기에 작성됩니다. */
    }
}


3. 변수와 데이터 타입

Java에서는 변수를 사용하여 데이터를 저장하며, 변수를 선언할 때 데이터 타입을 명시해야 합니다.

3.1. 변수 선언 및 초기화

변수는 다음과 같은 형태로 선언하고 초기화합니다:

int number = 10;     // 정수형 변수 선언
String name = "John"; // 문자열 변수 선언

3.2. 기본 데이터 타입 (Primitive Data Types)

Java에는 8가지의 기본 데이터 타입이 있습니다.

  • int: 정수 (예: int age = 25;)
  • double: 소수점을 포함한 실수 (예: double price = 19.99;)
  • char: 단일 문자 (예: char letter = 'A';)
  • boolean: 논리값 (참/거짓) (예: boolean isActive = true;)
  • float: 실수 (단일 정밀도) (예: float temperature = 36.6f;)
  • long: 정수 (큰 범위) (예: long population = 7800000000L;)
  • byte: 정수 (1바이트) (예: byte data = 100;)
  • short: 정수 (2바이트) (예: short value = 1000;)

3.3. 참조 데이터 타입 (Reference Data Types)

참조 데이터 타입은 객체 또는 배열과 같은 복합적인 데이터를 나타냅니다. Java에서 문자열은 String 클래스로 처리됩니다.

String greeting = "Hello, Java!";


4. 연산자

Java는 다양한 연산자를 지원하며, 변수와 값에 대해 산술 연산, 비교 연산, 논리 연산 등을 수행할 수 있습니다.

4.1. 산술 연산자

  • +: 더하기
  • ``: 빼기
  • ``: 곱하기
  • /: 나누기
  • %: 나머지
int a = 10;
int b = 3;
int sum = a + b;  // 13
int remainder = a % b;  // 1

4.2. 비교 연산자

  • ==: 같음
  • !=: 같지 않음
  • >: 큼
  • <: 작음
  • >=: 크거나 같음
  • <=: 작거나 같음
boolean result = (a > b);  // true

4.3. 논리 연산자

  • &&: 논리 AND
  • ||: 논리 OR
  • !: 논리 NOT
boolean isTrue = (a > 0 && b > 0);  // true
boolean isFalse = !(a > b);  // false


5. 조건문

조건문은 특정 조건에 따라 코드의 실행 흐름을 제어하는 데 사용됩니다.

5.1. if-else

int score = 85;

if (score >= 90) {
    System.out.println("A grade");
} else if (score >= 80) {
    System.out.println("B grade");
} else {
    System.out.println("C grade");
}

5.2. switch

switch 문은 값에 따라 여러 가지 경우를 처리할 수 있습니다.

int day = 3;

switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Invalid day");
}


6. 반복문

반복문을 사용하면 코드를 여러 번 반복해서 실행할 수 있습니다.

6.1. for

for (int i = 0; i < 5; i++) {
    System.out.println("i = " + i);
}

6.2. while

int i = 0;
while (i < 5) {
    System.out.println("i = " + i);
    i++;
}

6.3. do-while

do-while은 조건이 참이든 거짓이든 최소 한 번은 실행됩니다.

int i = 0;
do {
    System.out.println("i = " + i);
    i++;
} while (i < 5);


7. 함수 (메소드)

Java에서는 함수메소드라고 부르며, 클래스 내부에 정의됩니다.

7.1. 메소드 선언

메소드는 특정 작업을 수행하는 코드를 묶은 것입니다.

public class MathOperations {
    // 두 수의 합을 반환하는 메소드
    public int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        MathOperations math = new MathOperations();
        int result = math.add(5, 3);
        System.out.println("Result: " + result);  // 출력: Result: 8
    }
}

7.2. 메소드 오버로딩

Java에서는 같은 이름의 메소드를 매개변수의 개수나 타입에 따라 여러 번 정의할 수 있습니다.

public class MathOperations {
    // 두 개의 정수를 더함
    public int add(int a, int b) {
        return a + b;
    }

    // 세 개의 정수를 더함
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}


8. 클래스와 객체

Java는 객체 지향 프로그래밍(OOP) 언어로, 클래스와 객체 개념이 매우 중요합니다. 클래스는 객체를 생성하기 위한 **청사진(blueprint)**입니다.

8.1. 클래스 정의 및 객체 생성

public class Car {
    String model;
    int year;

    // 메소드
    public void drive() {
        System.out.println("Driving " + model);
    }

    public static void main(String[] args) {
        // 객체 생성
        Car myCar = new Car();
        myCar.model = "Tesla";
        myCar.year = 2023;
        myCar.drive();  // 출력: Driving Tesla
    }
}

8.2. 생성자(Constructor)

생성자는 객체가 생성될 때 호출되며, 객체를 초기화하는 역할을 합니다.

public class Car {
    String model;
    int year;

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

    public void drive() {
        System.out.println("Driving " + model

);
    }

    public static void main(String[] args) {
        Car myCar = new Car("Tesla", 2023);
        myCar.drive();  // 출력: Driving Tesla
    }
}


9. 상속

Java에서 상속을 통해 기존 클래스의 기능을 확장하여 새로운 클래스를 만들 수 있습니다.

// 부모 클래스
class Animal {
    public void eat() {
        System.out.println("Animal is eating");
    }
}

// 자식 클래스
class Dog extends Animal {
    public void bark() {
        System.out.println("Dog is barking");
    }
}

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


요약

Java는 클래스, 객체, 조건문, 반복문 등 다양한 프로그래밍 구조를 지원하는 객체 지향 프로그래밍 언어입니다. 이 가이드는 Java의 기본 구문 및 문법을 설명하며, Java에서 프로그램을 작성하는 방법을 이해할 수 있도록 돕습니다. Java 문법을 익히면 다양한 애플리케이션 개발에 활용할 수 있습니다.


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