일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 안드로이드
- 재귀
- 프로그래밍언어
- 프로그래밍
- 자료구조
- 삽입정렬
- 버블정렬
- 정수론
- 백준
- C++
- DP
- 수학
- 선택알고리즘
- 힙정렬
- 계수정렬
- 다이나믹프로그래밍
- 동적계획법
- 정렬
- 퀵정렬
- 코딩테스트
- 병합정렬
- java
- 자바
- 기수정렬
- Median of Medians
- 알고리즘
- SNS
- 선택정렬
- 백트래킹
- 동적프로그래밍
- Today
- Total
MODE::CREATIVE
[JAVA]Java 프로그램의 기본 구조, 데이터 타입 본문
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가지의 기본 타입이 있습니다. 기본 타입은 값이 고정된 크기로 저장되므로, 메모리를 효율적으로 관리할 수 있게 해줍니다.
- 정수 타입
- byte: 1바이트 크기의 정수 타입이며, -128에서 127까지의 값을 저장할 수 있습니다. 메모리 사용이 제한적인 경우에 유용합니다.
- short: 2바이트 크기의 정수 타입으로, -32,768에서 32,767까지 저장할 수 있습니다.
- int: 4바이트 크기의 정수 타입이며, 가장 널리 사용됩니다. -2^31에서 2^31-1까지의 값을 저장할 수 있습니다.
- long: 8바이트 크기의 정수 타입으로, 매우 큰 범위의 정수를 다룰 때 사용됩니다. 값 뒤에 L을 붙여서 long 타입임을 표시할 수 있습니다.
- 실수 타입
- float: 4바이트 크기의 단정밀도 실수 타입입니다. 값의 끝에 f나 F를 붙여 표시하며, 소수점 이하 정밀도가 필요할 때 사용합니다.
- double: 8바이트 크기의 배정밀도 실수 타입으로, 기본적인 실수 타입으로 가장 자주 사용됩니다. 소수점 이하 15자리 정도의 정밀도를 가집니다.
- 문자 타입
- char: 2바이트 크기의 유니코드 문자를 저장하며, 단일 문자만 저장할 수 있습니다. 문자 리터럴은 작은따옴표(')로 감싸서 나타냅니다.
- 논리 타입
- boolean: 논리적 참 또는 거짓을 저장하는 1비트 크기의 타입입니다. true 또는 false 값을 가지며, 조건문에서 주로 사용됩니다.
3-2. 참조 타입 (Reference Types)
참조 타입은 기본 타입과 달리 객체의 주소를 저장합니다. 참조 타입에는 배열, 클래스, 인터페이스 등이 포함됩니다. Java에서는 문자열도 참조 타입에 속하며, String 클래스를 사용합니다.
- 문자열 (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 |