자바 - 기본 문법
자바 프로그래머로서의 미래에 오신 것을 환영합니다! 자바 프로그래밍의 흥미로운 세계를 탐험하는 이 흥미로운 여정에 함께할 수 있어 기쁩니다. 경험豊富한 가이드로서 저는 자바 문법의 기본 개념을 천천히 설명해 드리겠습니다. 시작해보겠습니다!
첫 번째 자바 프로그램
클래식한 "Hello, World!" 프로그램으로 시작해보겠습니다. 이 간단한 프로그램을 통해 자바 애플리케이션의 기본 구조를 이해할 수 있습니다.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
이를 분석해보겠습니다:
-
public class HelloWorld
: HelloWorld라는 공개 클래스를 선언합니다. -
public static void main(String[] args)
: 이는 메인 메서드로, 프로그램의 진입점입니다. -
System.out.println("Hello, World!");
: 이 줄은 콘솔에 "Hello, World!"를 출력합니다.
이 프로그램을 실행하면 화면에 "Hello, World!"가 표시됩니다. 흥미롭지 않나요? 프로그래밍의 세계에 여러분의 프로그램이 인사를 건네는 것 같아요!
기본 문법
자바의 문법은 자바 프로그램을 작성하고 해석하는 데 사용되는 규칙 집합입니다. 몇 가지 주요 요소를 살펴보겠습니다:
자바 식별자
식별자는 클래스, 변수, 메서드에 사용되는 이름입니다. 다음과 같은 규칙을 따릅니다:
- 문자, 숫자, 밑줄, 달러 기호를 포함할 수 있습니다
- 문자, 밑줄, 달러 기호로 시작해야 합니다
- 대소문자를 구분합니다 (myVariable는 myvariable와 다릅니다)
- 예약어로 사용되는 단어는 될 수 없습니다
예를 들어:
int age; // 유효한 식별자
String first_name; // 유효한 식별자
int 123abc; // 유효하지 않음: 숫자로 시작합니다
String for; // 유효하지 않음: 'for'는 예약어입니다
자바 수정자
수정자는 정의에 추가하여 의미를 변경하는 키워드입니다. 자바는 두 가지 유형의 수정자를 가집니다:
- 접근 수정자: public, private, protected
- 비접근 수정자: static, final, abstract, synchronized, volatile
다음은 예입니다:
public class MyClass {
private int myField;
public static void myMethod() {
// 메서드 본문
}
}
이 예에서 public
과 private
는 접근 수정자이고, static
은 비접근 수정자입니다.
자바 변수
변수는 데이터 값을 저장하는 컨테이너입니다. 자바에서는 다양한 유형의 변수가 있습니다:
- String: 텍스트를 저장합니다, 예를 들어 "Hello"
- int: 정수(전체 숫자)를 저장합니다, 예를 들어 123 또는 -456
- float: 부동 소수점 숫자를 저장합니다, 예를 들어 19.99 또는 -19.99
- char: 단일 문자를 저장합니다, 예를 들어 'a' 또는 'B'
- boolean: 두 상태(true 또는 false) 값을 저장합니다
다음은 변수 선언 방법입니다:
String name = "John Doe";
int age = 25;
float height = 5.9f;
char grade = 'A';
boolean isStudent = true;
자바 배열
배열은 단일 유형의 고정된 수의 값을 저장하는 컨테이너 객체입니다. 다음은 배열 선언 방법입니다:
int[] numbers = {1, 2, 3, 4, 5};
String[] fruits = new String[3];
fruits[0] = "Apple";
fruits[1] = "Banana";
fruits[2] = "Orange";
배열은 같은 유형의 여러 항목을 저장할 수 있는 조직화된 상자처럼 생각할 수 있습니다. 여행 준비를 할 때 소칭을 위한 가방을 생각해보세요!
자바 열거형
열거형은 일종의 특수한 "클래스"로, 일정한 상수(변경할 수 없는 변수, final 변수와 같은) 집합을 나타냅니다. 다음은 예입니다:
enum Level {
LOW,
MEDIUM,
HIGH
}
Level myLevel = Level.MEDIUM;
열거형은 고정된 상수 집합을 나타내는 데 좋습니다. 즐겨찾는 카페에서 다양한 크기의 커피를 생각해보세요.
자바 키워드
키워드는 자바에서 특별한 의미를 가진 예약어입니다. 몇 가지 일반적인 것들은 다음과 같습니다:
키워드 | 설명 |
---|---|
class | 클래스를 선언합니다 |
public | 접근 수정자 |
static | 멤버가 형 자체에 속해야 한다는 의미 |
void | 메서드가 값을 반환하지 않음을 지정 |
if | 결정을 내립니다 |
else | if 문에서 대안 |
for | for 루프를 만듭니다 |
while | while 루프를 만듭니다 |
break | 루프나 switch 문에서 탈출합니다 |
continue | 루프의 다음 반복으로 넘어갑니다 |
자바 주석
주석은 코드를 설명하고 가독성을 높이는 데 사용됩니다. 자바는 단일 줄 및 여러 줄 주석을 지원합니다:
// 이것은 단일 줄 주석입니다
/*
이것은 여러 줄 주석입니다
여러 줄에 걸쳐 있을 수 있습니다
*/
/**
* 이것은 문서화 주석입니다
* 코드에 대한 문서를 생성하는 데 사용됩니다
*/
주석은 여러분이 (또는 다른 프로그래머가) 코드가 무엇을 하는지 설명하는 작은 노트입니다. 데스크에 스티커 노트를 두는 것과 같지만 훨씬 깔끔합니다!
빈 줄 사용
빈 줄은 코드의 가독성을 높입니다. 로직적 섹션을 구분하기 위해 사용하면 됩니다:
public class MyClass {
private int myField;
public MyClass() {
// 생성자
}
public void myMethod() {
// 메서드 본문
}
}
빈 줄은 소문자로 읽을 때 문장 사이에 숨을吸을 수 있는 것과 같습니다. 코드를 갈라주어 더 쉽게 파악할 수 있게 합니다.
다음은 무엇인가요?
축하합니다! 자바 프로그래밍의 첫 걸음을 내딛었습니다. 기본 문법을 다루었지만, 더 많은 것을 탐험할 수 있습니다. 다음 섹션에서 제어문, 오브젝트-지향 프로그래밍, 내장 클래스 등을 더 깊이 탐구하겠습니다.
기억해주세요, 프로그래밍을 배우는 것은 새로운 언어를 배우는 것과 같습니다. 시간, 연습, 인내심이 필요합니다. 처음에 모든 것을 이해하지 못해도 깊이 두려워 마세요. 계속 연습하고, 질문하고, 가장 중요한 것은 즐기세요!
이어지는 여정에서 이 기본 개념을 바탕으로 더 복잡하고 흥미로운 프로그램을 만들어 나가겠습니다. 귀향하는 호기심을 지켜두시고, 자바의 놀라운 세계를 함께 탐험하겠습니다!
Credits: Image by storyset