30
6.5
부분 적용 함수와 부분 함수
.........................................................................................
285
6.6
함수의 커링과 다른 변환
.............................................................................................
287
6.7
함수형 데이터 구조
....................................................................................................
293
6
.
7
.
1
시퀀스
.........................................................................................................
294
6
.
7
.
2
...............................................................................................................
300
6
.
7
.
3
집합
............................................................................................................
302
6.8
순회하기, 연관시키기, 걸러내기, 접기, 축약하기
.............................................................
303
6
.
8
.
1
순회
............................................................................................................
303
6
.
8
.
2
연관시키기
...................................................................................................
305
6
.
8
.
3
펼치면서 연관시키기
......................................................................................
308
6
.
8
.
4
걸러내기
......................................................................................................
310
6
.
8
.
5
접기와 축약시키기
.........................................................................................
312
6.9
왼쪽 순회와 오른쪽 순회
.............................................................................................
318
6
.
9
.
1
꼬리 재귀와 무한 컬렉션에 대한 순회
................................................................
322
6.10
콤비네이터: 가장 뛰어난 소프트웨어 컴포넌트 추상화
......................................................
327
6.11
복사에 드는 비용은 어떤가?
........................................................................................
331
6.12
마치며
....................................................................................................................
334
CHAPTER
7
for
내장
7.1
돌아보기:
for
내장의 기본 요소
....................................................................................
337
7.2
for
내장 : 내부 동작
...................................................................................................
341
7.3
for
내장의 변환 규칙
..................................................................................................
344
7.4
Option
다른 컨테이너 타입
.....................................................................................
349
7
.
4
.
1
컨테이너로서의
Option
..................................................................................
349
7
.
4
.
2
Either
:
Option
논리적 확장
.........................................................................
354
7
.
4
.
3
Try
: 있는 일이 없을
............................................................................
360
CONTENTS
31
7
.
4
.
4
스칼라제드의
Validation
.................................................................................
362
7.5
마치며
....................................................................................................................
366
CHAPTER
8
스칼라 객체지향 프로그래밍
8.1
클래스와 객체의 기초
.................................................................................................
368
8.2
참조 타입과 타입
...................................................................................................
371
8.3
클래스
................................................................................................................
373
8.4
부모 타입
................................................................................................................
377
8.5
스칼라에서의 생성자
..................................................................................................
378
8.6
클래스의 필드
...........................................................................................................
384
8
.
6
.
1
단일 접근 원칙
..............................................................................................
386
8
.
6
.
2
단항 메서드
..................................................................................................
387
8.7
입력 검증하기
...........................................................................................................
388
8.8
부모 클래스 생성자 호출하기( 그리고 좋은 객체지향 설계)
................................................
391
8
.
8
.
1
여담: 좋은 객체지향 설계
................................................................................
392
8.9
내포된 타입
..............................................................................................................
398
8.10
마치며
....................................................................................................................
400
CHAPTER
9
트레이트
9.1
자바
8
인터페이스
..................................................................................................
402
9.2
믹스인으로서의 트레이트
............................................................................................
402
9.3
트레이트 쌓기
...........................................................................................................
409
9.4
트레이트 만들기
........................................................................................................
415
9.5
클래스를 쓸 것인가 트레이트를 쓸 것인가?
....................................................................
418
9.6
마치며
....................................................................................................................
418
32
CHAPTER
10
스칼라 객체 시스템
I
10.1
매개변수화한 타입 : 상속에 따른 변성
..........................................................................
419
10
.
1
.
1
함수 내부 들여다보기
.................................................................................
421
10
.
1
.
2
변경 가능한 타입의 변성
.............................................................................
426
10
.
1
.
3
스칼라의 변성과 자바의 변성 비교
................................................................
429
10.2
스칼라 타입 계층구조
...............................................................................................
430
10.3
Nothing
(그리고
Null
)대한 많은 내용
.................................................................
432
10.4
Product
, 케이스 클래스, 튜플
..................................................................................
438
10.5
Predef
객체
..........................................................................................................
440
10
.
5
.
1
암시적 변환
..............................................................................................
440
10
.
5
.
2
타입 정의
.................................................................................................
444
10
.
5
.
3
조건 검사 메서드
.......................................................................................
445
10
.
5
.
4
입출력 메서드
...........................................................................................
446
10
.
5
.
5
기타 메서드
..............................................................................................
448
10.6
객체의 동등성
.........................................................................................................
449
10
.
6
.
1
equals
메서드
..........................................................................................
450
10
.
6
.
2
= = ! = 메서드
.......................................................................................
451
10
.
6
.
3
eq
ne
메서드
........................................................................................
452
10
.
6
.
4
Array
동등성과
sameElements
메서드
....................................................
452
10.7
마치며
...................................................................................................................
453
CHAPTER
11
스칼라 객체 시스템
II
11.1
클래스와 트레이트의 멤버 오버라이딩하기
...................................................................
455
11
.
1
.
1
구체적 멤버를 오버라이딩하는 피하기
.......................................................
456
11
.
1
.
2
final
선언을 오버라이딩하려 시도하기
...........................................................
459
CONTENTS
33
11
.
1
.
3
추상적 메서드와 구체적 메서드 오버라이딩하기
..............................................
460
11
.
1
.
4
추상적 필드와 구체적 필드 오버라이딩하기
....................................................
462
11
.
1
.
5
추상 타입 오버라이딩하기
...........................................................................
470
11
.
1
.
6
접근자 메서드와 필드를 구별할 없을 : 단일 접근 원칙
...............................
471
11.2
객체의 상속 계층을 선형화하기
..................................................................................
474
11.3
마치며
...................................................................................................................
481
CHAPTER
12
스칼라 컬렉션 라이브러리
12.1
제네릭, 변경 가능, 변경 불가능, 동시성, 병렬 컬렉션, 아이고!
..........................................
483
12
.
1
.
1
collection
패키지
.....................................................................................
484
12
.
1
.
2
collection
.
concurrent
패키지
....................................................................
486
12
.
1
.
3
collection
.
convert
패키지
.........................................................................
487
12
.
1
.
4
collection
.
generic
패키지
.........................................................................
487
12
.
1
.
5
collection
.
immutable
패키지
.....................................................................
487
12
.
1
.
6
collection
.
mutable
패키지
........................................................................
489
12
.
1
.
7
collection
.
parallel
패키지
..........................................................................
491
12.2
컬렉션 선택하기
......................................................................................................
493
12.3
컬렉션 라이브러리의 설계 방식
..................................................................................
494
12
.
3
.
1
Builder
...................................................................................................
494
12
.
3
.
2
CanBuildFrom
........................................................................................
495
12
.
3
.
3
...
Like
트레이트
.......................................................................................
497
12.4
타입을 위한 특화
.................................................................................................
499
12
.
4
.
1
미니박싱
..................................................................................................
500
12.5
마치며
...................................................................................................................
501
34
CHAPTER
13
가시성 규칙
13.1
공개: 기본 가시성
....................................................................................................
503
13.2
가시성 지정 키워드
..................................................................................................
505
13.3
공개 가시성
............................................................................................................
506
13.4
보호 가시성
............................................................................................................
507
13.5
비공개 가시성
.........................................................................................................
508
13.6
영역 지정 비공개와 영역 지정 보호 가시성
...................................................................
510
13.7
가시성에 대한 마지막 고찰
........................................................................................
518
13.8
마치며
...................................................................................................................
519
CHAPTER
14
스칼라 타입 시스템
I
14.1
매개변수화한 타입
...................................................................................................
524
14
.
1
.
1
변성 표기
.................................................................................................
524
14
.
1
.
2
타입 생성자
..............................................................................................
525
14
.
1
.
3
타입 매개변수의 이름
.................................................................................
525
14.2
타입 바운드
............................................................................................................
525
14
.
2
.
1
상위 타입 바운드
.......................................................................................
526
14
.
2
.
2
하위 타입 바운드
.......................................................................................
527
14.3
맥락 바운드
............................................................................................................
532
14.4
바운드
...............................................................................................................
533
14.5
추상 타입 이해하기
..................................................................................................
536
14
.
5
.
1
추상 타입과 매개변수화한 타입의 비교
..........................................................
538
기초를 넘어
Part
3
CONTENTS

Get 프로그래밍 스칼라: 실용적인 스칼라 활용법을 익히는 가장 확실한 실전 바이블 (2.11.x 버전 기반) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.