본문 바로가기

Kotlin/Kotlin IN ACTION

(3)
Kotlin IN ACTION 6장 정리(코틀린 타입 시스템, 어떻게 코틀린은 null처리를 우아하게 할까?) null이 될 수 있는 타입과 null 처리 구문 null이 될 수 없는 타입의 장점 null이 될 수 있는지 여부를 타입 시스템에 추가함으로써 컴파일러가 컴파일 시점에 검사하여 예외 발생의 가능성을 줄이는 특징을 갖습니다. //자바에서 하던 것 int (String str) { if(str == null) { throw new NumberFormatException("null"); } //...기타 작업 } 자바에서는 메소드의 파라미터로 레퍼런스 타입이 오면 대부분 null인지 아닌지 고민하고 null처리를 별도로 해야할지 고민했습니다. //코틀린에서 null을 다루는 방법 fun parseInt(str: String):Int { // 바로 작업 } 코틀린에서 null이 될 수 없는 타입과 null이 ..
Kotlin IN ACTION 2장 정리(코틀린 기초 : 변수, 함수, 클래스, enum, 프로퍼티, for, while, is, exception) 2장 코틀린 기초 변수, 함수, 클래스, ... 변수 선언 방법 val question = "코틀린 기초는 몇 장인가" val answer = 2 //val answer:Int = 2 타입을 적어도 되고 실제 값에서 추론이 가능하면 생략해도 됨 val pi = 3.14 //Double 추론 val vs var val : 값을 뜻하는 value에서 따온 것으로, 불변(Immutable)값을 저장하는 변수다. 자바의 final 처럼 초기화하고 나면 다른 값으로 재대입이 불가능하다. var : 변수를 뜻하는 variable에서 따온 것으로, 가변(mutable)값을 저장하는 변수다. 재대입이 가능하다. val languages = arrayListOf("Java") languages.add("Kotlin") ..
Kotlin IN ACTION 1장 정리(코틀린의 철학, 코틀린의 특징, 코틀린 공부 로드맵) 오프라인 스터디에서 "Kotlin IN ACTION"이라는 책을 선정하여 학습하는 중에 정리의 필요성을 느꼈고, 책을 읽는 것만으로 내 것이 되지 않는 것 같다고 생각하여 아주 작은 미니 프로젝트를 만들어봐야 겠다는 생각을 했습니다. 1장 코틀린이란 무엇이며, 왜 필요한가? 코틀린의 철학 *참고* 개인적인 해석이 포함되어 있습니다. "자바(Java)와의 상호운용성을 고려하고 실용성을 갖춘 언어를 개발한다." 코틀린이라는 언어의 목적은 다른 언어처럼 임베디드 환경에 최적화된 언어, 인공 지능 개발 언어, 성능 최적화된 언어, ... 같은 목적이 아니라, 딱 자바와의 상호운용에 문제가 없으면서도 실용성을 갖추는게 목적입니다. 코틀린이 실용성 을 갖췄다는 건 무엇일까요? 다음과 같은 개선으로 애플리케이션 개발..