YAML은 “YAML Ain’t Markup Language”의 약자로, 사람과 기계가 모두 읽기 쉬운 데이터 직렬화 형식입니다. 주로 설정 파일이나 데이터 전송을 위해 사용되며, 특히 자바 언어에서 자주 사용됩니다. 이번 포스트에서는 YAML의 기본적인 문법과 구조에 대해 알아보겠습니다.
1. 기본 문법
YAML은 들여쓰기와 콜론으로 구성된 간결한 문법을 가지고 있습니다. 아래는 YAML의 기본적인 문법 규칙입니다:
- 요소를 표현할 때는
key: value
형태로 쓰며, 콜론 뒤에는 항상 공백을 추가합니다. - 문서 내 요소들은 들여쓰기로 계층 구조를 나타냅니다. 들여쓰기는 일관된 공백으로 만드는 것이 좋습니다. 일반적으로 2칸 혹은 4칸의 공백을 사용합니다.
- 리스트는
-
기호로 시작하며, 여러 개의 요소를 나열할 수 있습니다. - 문자열은 따옴표(
'
혹은"
)로 감싸서 표현할 수 있으며, 특수 문자나 공백을 포함할 때는 따옴표로 묶는 것이 좋습니다.
# YAML 예시
name: John Doe
age: 30
hobbies:
- reading
- hiking
address:
street: "123 Main St"
city: "New York"
위 예시에서는 name
, age
, hobbies
, address
등의 요소들이 존재합니다. hobbies
와 address
는 각각 리스트와 객체로 구성되어 있음을 볼 수 있습니다.
2. 구조를 통한 데이터 표현
YAML은 계층 구조를 사용하여 데이터를 표현합니다. 이를 통해 복잡한 구조의 데이터를 간결하게 표현할 수 있습니다. 예를 들어, 아래는 사용자 정보를 담고있는 YAML 예시입니다:
# YAML 예시
user:
name: John Doe
age: 30
address:
street: "123 Main St"
city: "New York"
hobbies:
- reading
- hiking
위 예시에서는 user
라는 최상위 요소 아래에 name
, age
, address
, hobbies
등의 요소들이 들어있는 것을 볼 수 있습니다. 이렇게 계층 구조를 통해 복잡한 데이터를 구성할 수 있게 됩니다.
3. 주석
YAML은 #
기호를 사용하여 주석을 추가할 수 있습니다. 주석은 데이터에 대한 설명이나 중요한 정보를 덧붙일 때 유용합니다.
# YAML 예시
# 사용자 정보
user:
name: John Doe # 사용자 이름
age: 30 # 사용자 나이
address:
street: "123 Main St" # 주소: 거리
city: "New York" # 주소: 도시
hobbies:
- reading # 취미: 독서
- hiking # 취미: 등산
위 예시에서는 user
요소와 해당 요소들에 대한 설명을 주석으로 추가하였습니다.
4. 참조와 앵커
YAML에서는 &
와 *
기호를 사용하여 데이터의 일부분을 참조할 수 있습니다. 이를 통해 반복되는 구조를 간결하게 표현할 수 있습니다.
# YAML 예시
person: &person
name: John Doe
age: 30
user1: *person
user2: *person
위 예시에서는 person
이라는 앵커를 설정하여 user1
과 user2
가 동일한 데이터를 참조하고 있음을 볼 수 있습니다.
5. 문서 구분
YAML 문서는 ---
사이에 작성하여 구분할 수 있습니다. 하나의 YAML 파일에 여러 개의 문서를 작성할 수 있습니다.
# YAML 예시
---
name: John Doe
age: 30
---
name: Jane Smith
age: 25
위 예시에서는 두 개의 문서가 작성되었음을 알 수 있습니다. 문서 구분은 데이터를 그룹화하거나 다른 문서와 구분하여 사용할 때 유용합니다.
YAML은 간결하고 읽기 쉬운 문법을 제공하여 데이터를 효과적으로 표현할 수 있는 형식입니다. 위에서 소개한 기본 문법과 구조를 숙지하여 YAML을 활용하여 자바 언어에서 데이터를 효과적으로 다룰 수 있습니다.