Part 1: Scala 기초
Java 개발자를 위한 Scala 기본 문법 및 핵심 개념 학습
📚 학습 목표
- Scala 개발 환경 설정 및 기본 도구 사용법 습득
- val/var, 타입 추론 등 Scala 타입 시스템 이해
- 제어 구조와 표현식 지향 프로그래밍 습득
- 함수형 프로그래밍 기초 (고차 함수, 커링)
- Scala 객체지향 프로그래밍 (트레이트, 케이스 클래스)
- Scala 컬렉션 라이브러리 기본 사용법
📖 챕터 목록
- Scala 개요 및 특징
- 개발 환경 설정 (Java, SBT, IntelliJ IDEA)
- Hello World 프로그램
- REPL 사용법
- Scala 2.12 vs Scala 3 차이점
- val vs var (불변성)
- 타입 추론 및 명시적 타입
- 기본 타입 (Numeric, Boolean, String)
- 문자열 인터폴레이션
- Option 타입 (Null 안전성)
- if-else 표현식
- match 표현식 (패턴 매칭)
- for-comprehension
- while/do-while
- 표현식 지향 프로그래밍
- 메서드 vs 함수
- 매개변수 (기본값, 이름 지정, 가변 인자)
- 재귀와 꼬리 재귀
- 고차 함수
- 커링과 부분 적용
- 클래스 기초
- Object와 싱글톤
- Companion Object
- Case Class
- Trait (다중 상속)
- 상속과 다형성
- Scala 컬렉션 계층 구조
- List, Set, Map
- Vector와 Array
- 불변 vs 가변 컬렉션
- for-comprehension 활용
- 고차 함수 (map, filter, fold)
⏱️ 예상 학습 시간
총 2-3주 (주당 10-15시간 투자 기준)
- Chapter 1-3: 1주
- Chapter 4-6: 1-2주
🎯 학습 성과
Part 1을 완료하면 다음을 할 수 있습니다:
✅ Scala 기본 문법으로 간단한 프로그램 작성
✅ Java 코드를 Scala로 변환
✅ 불변성과 표현식 지향 프로그래밍 이해
✅ Scala 컬렉션 API로 데이터 처리