Skip to content

정오표

Taeho Kim edited this page Mar 5, 2019 · 6 revisions

1부

2장

16 페이지

charAt() 메서드를 사용하는 예제 코드 중 코틀린 코드의 세미콜론 제거

 // ch1에 인덱스가 4인 문자 'm' 할당
-val ch1: Char = foo.get(4);
+val ch1: Char = foo.get(4)

 // ch2에 인덱스가 6인 문자 'i' 할당
-val ch2: Char = foo[6];
+val ch2: Char = foo[6]

22페이지

 // 자료를 수정할 수 없는 리스트 생성
 val immutableList : List<String> = listOf("Lorem", "ipsum", "dolor", "sit")

 // 컴파일 에러: 자료 수정을 위한 함수를 지원하지 않음
-mutableList.add("amet")
+immutableList.add("amet")

 ...

 // 자료를 수정하지 않는 자료형으로 재할당
 val immutableList2: List<String> = mutableList

 // 컴파일 에러: 자료 수정을 위한 함수를 지원하지 않음
-mutableList.add("amet")
+immutableList2.add("amet")

39페이지

enum 언어별 예제 코드

java

 public enum Direction {
-    NORTH, SOUTH, WEST, EAST;
+    NORTH("N"), SOUTH("S"), WEST("W"), EAST("E");

     public String label;

     Direction(String label) {
         this.label = label;
+    }
 }

kotlin

 enum class Direction(
       val label: String) {
-    NORTH, SOUTH, WEST, EAST
+    NORTH("N"), SOUTH("S"), WEST("W"), EAST("E")
 }

3장

81 페이지

인덱스 접근 연산자 예제 코드 내 triple[3] > triple[2]로 수정

 // triple 객체 내 first, second, third 프로퍼티의 값을 출력합니다.
 // 10 20 30이 출력됩니다.
-println("${triple[0]} ${triple[1]} ${triple[3]}")
+println("${triple[0]} ${triple[1]} ${triple[2]}")
 // 30 30 30이 출력됩니다.
-println("${triple[0]} ${triple[1]} ${triple[3]}")
+println("${triple[0]} ${triple[1]} ${triple[2]}")

4장

107 페이지

drop() 함수를 설명하는 코드 내 주석 수정

 // 문자열의 길이가 5 이하인 조건을 만족할 때까지 해당하는 항목을 제외합니다.
-//"NYC"와 "Singapore"도 문자열의 길이가 5 이하이지만,
-//"Mountain View"가 조건을 만족하지 않으므로 이후의 인자들은 모두 무시합니다.
+//"NYC"의 문자열의 길이도 5 이하이지만,
+//"Mountain View"에서 조건을 만족하지 않게 되므로 이 이후의 항목들은 더 이상 제외되지 않습니다.

108 페이지

first() 함수를 설명하는 코드 내 주석 수정

-// 문자열 길이가 5 이상인 첫 번째 인자를 반환합니다.
+// 문자열 길이가 5를 초과하는 첫 번째 인자를 반환합니다.
 println(cities.first { city -> city.length > 5 })

-// 문자열 길이가 5 이상인 마지막 인자를 반환합니다.
+// 문자열 길이가 5를 초과하는 마지막 인자를 반환합니다.
 println(cities.last { city -> city.length > 5})
 ...

 try {
-    // 조건을 만족하는 첫 번째 인자를 반환하며, 없을 경우 널 값을 반환합니다.
+    // 조건을 만족하는 첫 번째 인자를 반환하며, 없을 경우 예외를 발생시킵니다.
     cities.first { city -> city.isEmpty() }
 } catch (e: NoSuchElementException) {
     println("Not found")
 }

 ...

114 페이지

average() 함수 실행 결과

console

 //numbers.average()
-5.5
+3.4285714285714284

6장

140 페이지

main.java.dstDirsmain.java.srcDirs로 수정

 android {
   ...
   // 'kotlin' 폴더를 소스 코드 폴더로 인식하도록 설정합니다.
   sourceSets {
-    main.java.dstDirs += 'src/main/kotlin'
+    main.java.srcDirs += 'src/main/kotlin'
   }
}

2부

13장

281 페이지

본문 내

-다음은 앞의 액티비티 내 CompositeDisposable.add() 함수를 사용하는 부분을 +-연산자를 ...
+다음은 앞의 액티비티 내 CompositeDisposable.add() 함수를 사용하는 부분을 +=연산자를 ...

코드 13-13 제목 내

-``CompositeDisposable.add() 대신 `+-`연산자를 사용한 모습
+``CompositeDisposable.add() 대신 `+=`연산자를 사용한 모습

14장

320페이지

코드 14-13

 class MyActivity: AppCompatActivity() {
    
     // MyViewModel에서 필요한 값응ㄹ 정의합니다
     val api: ItemApi = null
     val itemDao: ItemDao = null
    
     lateinit var viewModel: MyViewModel

     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
        
         // MyViewModelFactory 인스턴스를 생성합니다
-        val viewModelFactory = MyViewModel(api, itemDao)
+        val viewModelFactory = MyViewModelFactory(api, itemDao)
        
         // 앞에서 생성한 MyViewModelFactory의 인스턴스를
         // ViewModelProvider.of() 함수에 전달합니다
         viewModel = ViewModelProviders.of(
                 this, viewModelFactory)[MyViewModel::class.java]
         
         ...
     }
     ...
 }