MODE::CREATIVE

[JAVA]Java 프로그램의 기본 구조, 데이터 타입 본문

JAVA

[JAVA]Java 프로그램의 기본 구조, 데이터 타입

LEE MINGYU 2024. 11. 10. 16:40

1. Java 프로그램의 기본 구조

Java 프로그램의 기본 구성 요소와 주요 개념을 알아보겠습니다. Java는 모든 코드가 클래스메소드로 이루어져 있으며, main 메소드가 프로그램의 시작점이 됩니다. Java 코드를 작성할 때 가장 중요한 요소를 아래와 같이 정리해 봅니다.

1-1. 클래스와 메소드

Java 프로그램은 하나 이상의 클래스 파일로 구성되며, 각 클래스는 class 키워드로 선언합니다. 클래스 내부에는 메소드가 있으며, Java 프로그램은 반드시 하나의 main 메소드를 가져야 합니다. main 메소드는 public static void main(String[] args) 형태로 작성되며, 프로그램이 시작될 때 가장 먼저 실행되는 메소드입니다.

예를 들어, 아래 코드는 Hello라는 클래스와 그 안에 포함된 main 메소드를 보여줍니다.

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

1-2. 주석

Java는 주석 기능을 사용하여 코드에 설명을 추가할 수 있습니다. 주석은 코드 실행에 영향을 미치지 않으며, 주석에는 한 줄 주석(//)과 여러 줄 주석(/* ... */)이 있습니다.

1-3. 변수 선언과 출력

Java에서는 변수를 선언할 때 타입변수명을 명시합니다. 변수는 프로그램에서 데이터를 저장하는 역할을 하며, System.out.println() 메소드를 사용해 화면에 출력할 수 있습니다.

int number = 10;
System.out.println("Number: " + number);  // 출력: Number: 10

2. 식별자와 키워드

Java에서 식별자키워드는 프로그램 작성의 기본 요소입니다. 식별자는 클래스, 변수, 메소드에 부여되는 이름이며, 키워드는 Java 언어에서 미리 정의된 특별한 용도의 예약어입니다.

2-1. 식별자

식별자는 클래스, 변수, 메소드 등 프로그램의 다양한 요소에 붙이는 이름입니다. 식별자는 대소문자를 구분하며, 의미를 이해하기 쉽게 작성하는 것이 좋습니다. 다음은 식별자를 작성할 때의 규칙입니다.

  • 첫 문자는 문자, _, $로 시작해야 하며, 숫자로 시작할 수 없습니다.
  • 공백이나 특수 문자(@, #, ! 등)를 사용할 수 없습니다.
  • Java의 키워드는 식별자로 사용할 수 없습니다.

예를 들어, int age, double price, String studentName은 모두 유효한 식별자입니다.

2-2. 좋은 이름짓는 법

public class Car {
    private int maxSpeed = 120; // 변수
    public static final double PI = 3.14159; // 상수

    public void calculateSpeed() { // 메소드
        // 코드
    }
}

 

  • 클래스 이름: 첫 글자는 대문자로 시작하며, 각 단어의 첫 글자도 대문자로 표기합니다. (ex: CustomerOrder)
  • 변수와 메소드 이름: 첫 글자는 소문자로 시작하고, 각 단어의 첫 글자는 대문자로 표기합니다. (ex: totalAmount)
  • 상수 이름: 모든 문자를 대문자로 표기하고, 단어 간 구분은 _를 사용합니다. (ex: MAX_SPEED)

 

2-3. 키워드

Java에는 특정한 기능을 나타내는 키워드들이 있습니다. 예를 들어, public, static, int, if, class 등은 모두 키워드로, 다른 용도로 사용할 수 없습니다. 키워드는 컴파일러가 프로그램의 구조를 이해하는 데 사용되므로, 변수나 클래스 이름으로 사용할 수 없습니다.

3. 데이터 타입과 변수

Java의 데이터 타입은 프로그래밍의 중요한 기본 개념 중 하나로, 저장할 데이터의 종류와 크기를 결정합니다. Java의 데이터 타입은 크게 기본 타입참조 타입으로 나눌 수 있으며, 각각 다른 용도와 특징을 가지고 있습니다.

3-1. 기본 타입 (Primitive Types)

Java에는 8가지의 기본 타입이 있습니다. 기본 타입은 값이 고정된 크기로 저장되므로, 메모리를 효율적으로 관리할 수 있게 해줍니다.

  1. 정수 타입
    • byte: 1바이트 크기의 정수 타입이며, -128에서 127까지의 값을 저장할 수 있습니다. 메모리 사용이 제한적인 경우에 유용합니다.
    • short: 2바이트 크기의 정수 타입으로, -32,768에서 32,767까지 저장할 수 있습니다.
    • int: 4바이트 크기의 정수 타입이며, 가장 널리 사용됩니다. -2^31에서 2^31-1까지의 값을 저장할 수 있습니다.
    • long: 8바이트 크기의 정수 타입으로, 매우 큰 범위의 정수를 다룰 때 사용됩니다. 값 뒤에 L을 붙여서 long 타입임을 표시할 수 있습니다.
  2. 실수 타입
    • float: 4바이트 크기의 단정밀도 실수 타입입니다. 값의 끝에 f나 F를 붙여 표시하며, 소수점 이하 정밀도가 필요할 때 사용합니다.
    • double: 8바이트 크기의 배정밀도 실수 타입으로, 기본적인 실수 타입으로 가장 자주 사용됩니다. 소수점 이하 15자리 정도의 정밀도를 가집니다.
  3. 문자 타입
    • char: 2바이트 크기의 유니코드 문자를 저장하며, 단일 문자만 저장할 수 있습니다. 문자 리터럴은 작은따옴표(')로 감싸서 나타냅니다.
  4. 논리 타입
    • boolean: 논리적 참 또는 거짓을 저장하는 1비트 크기의 타입입니다. true 또는 false 값을 가지며, 조건문에서 주로 사용됩니다.

3-2. 참조 타입 (Reference Types)

참조 타입은 기본 타입과 달리 객체의 주소를 저장합니다. 참조 타입에는 배열, 클래스, 인터페이스 등이 포함됩니다. Java에서는 문자열도 참조 타입에 속하며, String 클래스를 사용합니다.

  1. 문자열 (String)
    • 문자열은 String 클래스로 표현되며, 기본 타입이 아닌 객체입니다. 문자열 리터럴은 큰따옴표(")로 감싸서 나타내며, 다양한 문자열 조작 메소드를 제공합니다.
    • + 연산자를 사용하여 문자열을 결합할 수 있습니다.
String greeting = "Hello";
String message = greeting + ", Java!";
System.out.println(message); // 출력: Hello, Java!

3-3. 리터럴 (Literals)

리터럴은 프로그램에서 직접 값을 표현하는 방법입니다. Java에서는 다양한 리터럴을 통해 값을 명시할 수 있습니다.

  • 정수 리터럴: 정수는 기본적으로 int 타입이며, long 타입일 경우 숫자 뒤에 L을 붙입니다.
    int decimal = 10;   // 10진수
    int octal = 012;    // 8진수, 10진수로 10
    int hex = 0xA;      // 16진수, 10진수로 10
    int binary = 0b1010; // 2진수, 10진수로 10
    long bigNumber = 100000L;
  • 실수 리터럴: 실수는 기본적으로 double 타입이며, float 타입은 값 뒤에 f 또는 F를 붙입니다.
    double pi = 3.14159;
    float gravity = 9.8f;
  • 문자 리터럴: 작은따옴표(')로 감싸 표현하며, \u 뒤에 유니코드로 문자를 나타낼 수 있습니다.
    char letter = 'A';
    char unicodeChar = '\u0041'; // 'A'와 동일
  • 논리 리터럴: 논리형(boolean)의 리터럴은 true 또는 false 두 가지뿐입니다.
boolean isRaining = false;

 

3-4. 변수 선언과 초기화

변수는 데이터를 저장하는 메모리 공간으로, 변수를 선언할 때 데이터 타입변수 이름을 지정합니다. 변수는 선언 시 초기값을 설정할 수 있으며, 이후에는 대입 연산자(=)를 통해 값을 변경할 수 있습니다.

int age = 25; // 선언과 초기화
double salary = 55000.0;
boolean isActive = true;

age = 30; // 변수 값 변경

3-5. 타입 변환

Java는 타입 변환을 통해 한 데이터 타입을 다른 데이터 타입으로 변경할 수 있습니다.

  • 자동 타입 변환: 작은 타입이 큰 타입으로 자동 변환됩니다. 예를 들어, int는 double로 자동 변환될 수 있습니다.
    int num = 10;
    double result = num; // 자동으로 int -> double 변환
  • 강제 타입 변환: 큰 타입을 작은 타입으로 변환할 때 강제 타입 변환이 필요하며, 이는 데이터 손실을 유발할 수 있습니다.
double pi = 3.14159;
int integerPi = (int) pi; // 3으로 변환, 소수점 이하 손실

 

'JAVA' 카테고리의 다른 글

[JAVA] 자바의 배열(Array)  (0) 2025.01.11
[JAVA] java의 입력(Buffered reader)  (0) 2024.11.17
[JAVA] java의 입력(Scanner)  (0) 2024.11.10
[JAVA] java의 연산자, 조건문, 반복문  (1) 2024.11.10
[JAVA]Java 언어의 특징과 구조  (9) 2024.11.10