728x90
반응형
SMALL
안녕하세요! 😊
오늘은 Java에서 제공하는 내장 객체지향 기능 중 Enum(열거형)과 Record(레코드)에 대해 알아볼 거예요.
이 두 가지는 자주 사용되지는 않지만, 알아두면 개발 속도를 높이고 코드를 간결하게 만드는 데 큰 도움이 됩니다.
조금 어려울 수도 있지만, 하나씩 따라오다 보면 이해할 수 있을 거예요! 💪
1. Enum(열거형)이란? 🌈
Enum은 상수 집합을 정의할 때 사용됩니다.
- 👉 비유: "계절(봄, 여름, 가을, 겨울)"처럼 고정된 값의 목록을 정의하는 것.
- 일반적으로 관련된 상수 값들을 그룹화하고 싶을 때 사용됩니다.
특징
- 값(상수)이 고정되어 있습니다.
- 각 상수는 고유한 객체입니다.
- 코드 가독성을 높이고 실수를 줄여줍니다.
예제: 요일 정의하기
// Enum 정의
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumExample {
public static void main(String[] args) {
Day today = Day.WEDNESDAY; // 오늘의 요일
// Enum 값을 출력
System.out.println("오늘은: " + today);
// Enum 값 비교
if (today == Day.WEDNESDAY) {
System.out.println("수요일은 팀 미팅 날입니다!");
}
}
}
동작 설명:
Day
Enum은 요일을 상수 값으로 정의합니다.today
변수에Day.WEDNESDAY
를 할당합니다.if
조건문을 사용해 오늘이 수요일인지 확인하고 메시지를 출력합니다.출력:
makefile코드 복사오늘은: WEDNESDAY 수요일은 팀 미팅 날입니다!
2. Record(레코드)란? 🗂️
Record는 데이터를 담는 작고 간결한 클래스를 쉽게 정의할 수 있도록 Java 14에서 도입된 기능입니다.
- 👉 비유: 이름과 나이를 저장하는 "정보 카드".
- 일반적인 클래스를 작성할 때 필요한 생성자, getter, toString, equals, hashCode 등을 자동으로 만들어줍니다.
특징
record
키워드를 사용합니다.- 불변 객체(immutable)를 만들 때 적합합니다.
- Java 14 이상에서 사용 가능합니다.
예제: 학생 정보 저장하기
// Record 정의
record Student(String name, int age) {}
public class RecordExample {
public static void main(String[] args) {
// Record 객체 생성
Student student = new Student("Alice", 20);
// Record의 필드 값 가져오기
System.out.println("학생 이름: " + student.name()); // getter처럼 사용
System.out.println("학생 나이: " + student.age());
// Record 객체 출력 (toString 자동 생성)
System.out.println("학생 정보: " + student);
}
}
동작 설명:
record Student
는 이름과 나이를 저장하는 레코드입니다.new Student("Alice", 20)
로 객체를 생성합니다.name()
과age()
로 필드 값을 가져옵니다.출력:
less코드 복사학생 이름: Alice 학생 나이: 20 학생 정보: Student[name=Alice, age=20]
Enum과 Record 비교 🧐
특징 | Enum(열거형) | Record(레코드) |
---|---|---|
목적 | 고정된 상수 값 집합 정의 | 간결하고 불변한 데이터 객체 생성 |
사용 키워드 | enum |
record |
필드 수정 | 불가능 (고정된 상수) | 불가능 (불변 객체) |
주요 용도 | 상태, 옵션, 카테고리 정의 | 데이터를 저장하고 처리하는 간단한 클래스 생성 |
이해가 어렵다면? 😅
처음에는 "왜 Record를 쓰지?" 같은 의문이 들 수 있어요.
🔑 팁:
- Enum은 값의 범위가 정해진 경우 사용하세요. (예: 계절, 요일)
- Record는 간단한 데이터 저장소가 필요할 때 사용하세요.
직접 코드를 실행해 보면서 enum
과 record
의 특징을 확인해 보세요! 😊
왜 중요한가요?
- Enum은 코드 가독성을 높이고 오류를 줄입니다.
- Record는 간결한 데이터 클래스를 제공해 생산성을 높입니다.
- 이 두 기능은 Java에서 객체지향 프로그래밍을 더욱 강력하게 지원합니다.
오늘도 학습하느라 정말 고생 많으셨어요! 😊
조금씩 배워가다 보면, Enum과 Record도 자연스럽게 이해할 수 있을 거예요. 항상 여러분의 성장을 응원합니다. 화이팅! ❤️
반응형
SMALL
'객체지향 프로그래밍(OOP)' 카테고리의 다른 글
Java 인터페이스와 추상 클래스 쉽게 이해하기: 초보자도 알기 쉬운 차이와 사용법 (2) | 2024.12.18 |
---|---|
Java Reflection API 완벽 가이드: 초보자도 쉽게 배우는 활용법과 예제 (0) | 2024.12.18 |
[객체지향 프로그래밍] SOLID 원칙 완벽 정리: SRP, OCP, LSP, ISP, DIP 개념과 예제 코드 (0) | 2024.12.18 |
[쉬운설명] 함수형 프로그래밍 vs 객체지향 프로그래밍: 핵심 차이점 비교 (0) | 2024.12.18 |
[Java] 의존성 주입 (Dependency Injection) 개념과 장점 쉽게 이해하기 (3) | 2024.12.18 |