SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Kotlin Study #1
Kotlin in Action 1장 / 2장
Modern Programming Language 특징
• 강력한 타입추론
• 강타입 언어를 약타입처럼
• Boilerplate code 지양
• 문법은 간결하게
• 생략 가능하면 생략할 수 있게
• 강력한 기본 라이브러리 제공
• Battery included
• (상대적으로)쉬운 concurrency control
• (상대적으로)쉬운 메모리 관리
• Multi programming paradigm 지원
Kotlin은?
Kotlin은?
Kotlin은?
Kotlin 철학
• 실용성
• 성공적으로 검증된 해법 / 기능 위주
• 강력한 IDE …
• 간결성
• Boilerplate 최소화
• 안전성
• 타입추론
• Compile 시간 안전한 null check
• 상호운용성
• 자바 라이브러리 확장성
Function
• 이상한 점?
Function
• Statement vs Expression
Function
• Boilerplate code 최소화
Function
• Return 타입 추론
Class property / getter / setter
Smart cast!!
• Smart cast?
• Type check + Type cast
Java style(type check 와 type cast 따로)
Smart cast
If 는 Expression !!
Smart cast + when
Try catch
• Try 도 expression이다. Java였다면?
throw NumberFormatException
Try catch
• Try 도 expression이다.

Weitere ähnliche Inhalte

Mehr von Byeongsu Kang

Aws summit 2017 사내전파교육
Aws summit 2017 사내전파교육Aws summit 2017 사내전파교육
Aws summit 2017 사내전파교육Byeongsu Kang
 
알고리즘 문제해결전략 #1
알고리즘 문제해결전략 #1알고리즘 문제해결전략 #1
알고리즘 문제해결전략 #1Byeongsu Kang
 
멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면Byeongsu Kang
 
코딩소림사 Rx java
코딩소림사 Rx java코딩소림사 Rx java
코딩소림사 Rx javaByeongsu Kang
 
Concurrent programming 2
Concurrent programming 2Concurrent programming 2
Concurrent programming 2Byeongsu Kang
 
Concurrent programming
Concurrent programmingConcurrent programming
Concurrent programmingByeongsu Kang
 
Dependency hell과 빌드지옥 탈출
Dependency hell과 빌드지옥 탈출Dependency hell과 빌드지옥 탈출
Dependency hell과 빌드지옥 탈출Byeongsu Kang
 
Stash 사용자 교육
Stash 사용자 교육Stash 사용자 교육
Stash 사용자 교육Byeongsu Kang
 
신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)Byeongsu Kang
 
Kth개발자 세미나 1회
Kth개발자 세미나 1회Kth개발자 세미나 1회
Kth개발자 세미나 1회Byeongsu Kang
 
생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집Byeongsu Kang
 
개발자 환경 설정
개발자 환경 설정개발자 환경 설정
개발자 환경 설정Byeongsu Kang
 

Mehr von Byeongsu Kang (14)

Aws summit 2017 사내전파교육
Aws summit 2017 사내전파교육Aws summit 2017 사내전파교육
Aws summit 2017 사내전파교육
 
알고리즘2
알고리즘2알고리즘2
알고리즘2
 
알고리즘 문제해결전략 #1
알고리즘 문제해결전략 #1알고리즘 문제해결전략 #1
알고리즘 문제해결전략 #1
 
멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면
 
코딩소림사 Rx java
코딩소림사 Rx java코딩소림사 Rx java
코딩소림사 Rx java
 
Rx java essentials
Rx java essentialsRx java essentials
Rx java essentials
 
Concurrent programming 2
Concurrent programming 2Concurrent programming 2
Concurrent programming 2
 
Concurrent programming
Concurrent programmingConcurrent programming
Concurrent programming
 
Dependency hell과 빌드지옥 탈출
Dependency hell과 빌드지옥 탈출Dependency hell과 빌드지옥 탈출
Dependency hell과 빌드지옥 탈출
 
Stash 사용자 교육
Stash 사용자 교육Stash 사용자 교육
Stash 사용자 교육
 
신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)
 
Kth개발자 세미나 1회
Kth개발자 세미나 1회Kth개발자 세미나 1회
Kth개발자 세미나 1회
 
생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집
 
개발자 환경 설정
개발자 환경 설정개발자 환경 설정
개발자 환경 설정
 

Kotlin study #1