Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kotlin != GOOD 성배
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pluulove (노현석)
September 07, 2018
Technology
93
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin != GOOD 성배
Emocon 2017 F/W
pluulove (노현석)
September 07, 2018
More Decks by pluulove (노현석)
See All by pluulove (노현석)
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
260
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
580
N.E.X.T LEVEL
pluu
3
630
안드로이드 기술 이력서의 최소 조건
pluu
1
4.5k
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
800
Android Studio와 좀 더 친해지기
pluu
0
270
우리모두 삽질한다
pluu
0
1.5k
Re:Android Studio 설정 살펴보기 및 생산성 올리기
pluu
0
1.8k
What's new in Android development tools
pluu
1
980
Other Decks in Technology
See All in Technology
20260912_スクフェス三河
kgnkhkr
0
350
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
110
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
130
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
160
AIで仕事のやり方を変える
matsu7874
3
1.1k
人間はどの意思決定を手放せるのか
kawasima
14
5.6k
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
710
Minecraft JavaのMODをSwiftで作る
1mash0
0
150
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.2k
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
220
Genieを崇めよ
kameitomohiro
0
120
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
9
990
Between Models and Reality
mayunak
4
450
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
GitHub's CSS Performance
jonrohan
1033
470k
Docker and Python
trallard
47
4.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building Adaptive Systems
keathley
44
3.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Transcript
&.0$0/ '8 ,PUMJO(00%ࢿߓ !QMVVMPWF
None
None
#BTJD fun main(args: Array<String>): Unit { println("Hello, Emocon 2017 F/W!”)
}
#BTJD fun main(args: Array<String>): Unit { println("Hello, Emocon 2017 F/W!”)
} Function Definition
/VMM4BGF if (data != null && data.value != null) {
data.value.toString() }
/VMM4BGF data?.value?.toString()
*GXIFOUSZ_DBUI /P3FUVSO7BMVF TUBUFNFOU FYQSFTTJPO 3FUVSO7BMVF
*G&YQSFTTJPO JOUB 4USJOHWBMVF JG B \ WBMVF0WFS ^FMTF\ WBMVF6OEFS ^
WBMB WBMWBMVF4USJOH JG B \ WBMVF0WFS ^FMTF\ WBMVF6OEFS ^ +BWB ,PUMJO
WBMB WBMWBMVFJG B \ 0WFS ^FMTF\ 6OEFS ^ *G&YQSFTTJPO JOUB
4USJOHWBMVF JG B \ WBMVF0WFS ^FMTF\ WBMVF6OEFS ^ +BWB ,PUMJO
B*OU XIFO Y \ QBSTF*OU T QSJOU TFODPEFTY JOQSJOU
YJTJOUIFSBOHF JOWBMJE/VNCFSTQSJOU YJTWBMJE JOQSJOU YJTPVUTJEFUIFSBOHF FMTFQSJOU OPOFPGUIFBCPWF ^ XIFO Y*OU WBMWBMVFXIFO Y \ POF UXP UISFF FMTFBOPUIFS ^ $BTF $BTF
1BSBNFUFS%FGBVMU7BMVF QVCMJD4USJOHGPP 4USJOHOBNF JOUOVNCFS CPPMFBOUP6QQFS$BTF \ SFUVSO UP6QQFS$BTF OBNFUP6QQFS$BTF OBNF
OVNCFS ^ QVCMJD4USJOHGPP 4USJOHOBNF JOUOVNCFS \ SFUVSOGPP OBNF OVNCFS GBMTF ^ QVCMJD4USJOHGPP 4USJOHOBNF CPPMFBOUP6QQFS$BTF \ SFUVSOGPP OBNF UP6QQFS$BTF ^ QVCMJD4USJOHGPP 4USJOHOBNF \ SFUVSOGPP OBNF ^
1BSBNFUFS%FGBVMU7BMVF GVOGPP OBNF4USJOH OVNCFS*OU UP6QQFS$BTF#PPMFBOGBMTF JG UP6QQFS$BTF OBNFUP6QQFS$BTF
FMTFOBNF OVNCFS Default Default
&YBNQMF DMBTT*UFN\ QSJWBUF4USJOHUZQF QSJWBUFJOUUZQF QSJWBUFGMPBUUZQF QSJWBUFGMPBUUZQF ^ TFUUFSHFUUFS IBTI$PEF FRVBMT
UP4USJOH
&YBNQMF DMBTT*UFN\ QSJWBUF4USJOHUZQF QSJWBUFJOUUZQF QSJWBUFGMPBUUZQF QSJWBUFGMPBUUZQF QVCMJD*UFN 4USJOHUZQF JOUUZQF GMPBUUZQF
GMPBUUZQF \ UIJTUZQFUZQF UIJTUZQFUZQF UIJTUZQFUZQF UIJTUZQFUZQF ^ QVCMJD4USJOHHFU5ZQF \ SFUVSOUZQF ^ QVCMJDWPJETFU5ZQF 4USJOHUZQF \ UIJTUZQFUZQF ^ QVCMJDJOUHFU5ZQF \ SFUVSOUZQF ^ QVCMJDWPJETFU5ZQF JOUUZQF \ UIJTUZQFUZQF ^ QVCMJDGMPBUHFU5ZQF \ SFUVSOUZQF ^ QVCMJDWPJETFU5ZQF GMPBUUZQF \ UIJTUZQFUZQF ^ QVCMJDGMPBUHFU5ZQF \ SFUVSOUZQF ^ QVCMJDWPJETFU5ZQF GMPBUUZQF \ UIJTUZQFUZQF ^ !0WFSSJEF QVCMJDCPPMFBOFRVBMT 0CKFDUP \ JG UIJTP SFUVSOUSVF JG POVMM]]HFU$MBTT PHFU$MBTT SFUVSOGBMTF *UFNJUFN *UFN P JG UZQFJUFNUZQF SFUVSOGBMTF JG 'MPBUDPNQBSF JUFNUZQF UZQF SFUVSOGBMTF JG 'MPBUDPNQBSF JUFNUZQF UZQF SFUVSOGBMTF SFUVSOUZQFOVMM UZQFFRVBMT JUFNUZQF JUFNUZQFOVMM ^ !0WFSSJEF QVCMJDJOUIBTI$PEF \ JOUSFTVMUUZQFOVMM UZQFIBTI$PEF SFTVMU SFTVMU UZQF SFTVMU SFTVMU UZQF G 'MPBUGMPBU5P*OU#JUT UZQF SFTVMU SFTVMU UZQF G 'MPBUGMPBU5P*OU#JUT UZQF SFUVSOSFTVMU ^ !0WFSSJEF QVCMJD4USJOHUP4USJOH \ SFUVSO*UFN\ UZQF UZQF = UZQF UZQF UZQF UZQF UZQF UZQF ^ ^ ^
%BUB$MBTT EBUBDMBTT*UFN WBSUZQF4USJOH WBSUZQF*OU WBSUZQF'MPBU WBSUZQF'MPBU
&YUFOTJPO'VODUJPO ઓೞחېझীਗೞחӝמਸ୶ооמ FY ݽٚंܳޙt&NPDPO'8uਵ۽߄Լࠅө Ӓؘ۠QMVVۄחܴਵ۽ࠗܰ
&YUFOTJPO'VODUJPO
&YUFOTJPO'VODUJPO GVO*OUUP1MVV &NPDPO'8 QSJOUMO UP1MVV 3FTVMU &NPDPO'8
&YUFOTJPO'VODUJPO GVO*OUUP1MVV &NPDPO'8 QSJOUMO UP1MVV 3FTVMU &NPDPO'8 Function
&YUFOTJPO'VODUJPO GVO*OUUP1MVV &NPDPO'8 QSJOUMO UP1MVV 3FTVMU &NPDPO'8 Receiver Type
&YUFOTJPO'VODUJPO GVO*OUUP1MVV &NPDPO'8 QSJOUMO UP1MVV 3FTVMU &NPDPO'8 Function Name
&YUFOTJPO'VODUJPO GVO*OUUP1MVV &NPDPO'8 QSJOUMO UP1MVV 3FTVMU &NPDPO'8 Function Body
ౣܽѮೢӝযٸਃ
ഐ___
ࢿߓ ࢿߓܳਵݶݽٚѱੜಽܽ ةٚࢿߓ 1PJTPOFE$IBMJDF
ࢿߓ ᔭ ᚥ
,PUMJO • ࢜۽ যۄח Ѣࠗх / ۞ ழ࠳ /
ࠛউх / ৈ۞ ޙٜ … • Functional Programming • Hybrid Language о оח ޙઁٜ • ই ೠӖ۽ ػ ޙࢲ / ଼ٜ • Kotlin Compiler ী ೧ ࢤࢿغח ٘ • ࢤпೞח Ѫࠁ ؊ ݆ ٘о ࢤࢿ
QVCMJDTUBUJDGJOBMWPJEUFTU !/PU/VMM0CKFDUY \ *OUSJOTJDTDIFDL1BSBNFUFS*T/PU/VMM Y Y JG YJOTUBODFPG4USJOH \
JOUWBS 4USJOH Y MFOHUI 4ZTUFNPVUQSJOUMO WBS WBS 4USJOH Y MFOHUI 4ZTUFNPVUQSJOUMO WBS WBS 4USJOH Y MFOHUI 4ZTUFNPVUQSJOUMO WBS WBS 4USJOH Y MFOHUI 4ZTUFNPVUQSJOUMO WBS ^ ^ ,PUMJOWT%FDPNJMF GVOUFTU Y"OZ \ JG YJT4USJOH \ QSJOUMO YMFOHUI QSJOUMO YMFOHUI QSJOUMO YMFOHUI QSJOUMO YMFOHUI ^ ^ ,PMUJO %FDPNQJMF
৷ݽܰѷ݅ "OOPUBUJPOҗחj • Clean Build ೧ঠ ઁ۽ زೞӝب ೣ
• ঌ ࣻ হח ী۞
ઁ߄উ೧بغաਃ
/0
None
ઁ߄উ೧بغաਃ • Framework Ú Java • Library Ú Java /
Kotlin • Your Code Ú Java / Kotlin • Kotlin Compilerо Java Class Codeܳ ݅ٞ • Java to Kotlin, non-null ёী null ਸ ࠁյ ҃ …. ী۞ ߊࢤ
None
IUUQUFDIMF[IJODPNUIFDBTFBHBJOTULPUMJO
,PUMJO JNQPSULPUMJOYBOESPJETZOUIFUJDNBJOBDUJWJUZ@NBJO DMBTT.Z"DUJWJUZ"DUJWJUZ \ PWFSSJEFGVOPO$SFBUF TBWFE*OTUBODF4UBUF#VOEMF \ TVQFSPO$SFBUF
TBWFE*OTUBODF4UBUF TFU$POUFOU7JFX 3MBZPVUBDUJWJUZ@NBJO UFYU7JFXTFU5FYU )FMMP XPSME ^ ^ <TextView android:id="@+id/textView" ... /> ,PUMJO"OESPJE&YUFOTJPOT
טযաח,PUMJO (JU)VCഛੋ ӝળ 4UBSTਤ -BOHVBHFਤ
טযաח,PUMJO ࠶۽ӒߊҳӖࢠী,PUMJOࢎਊૐо ӝઓ+BWBÜ+BWB / ,PUMJO . ೯ ೠӖ۽ࢿغחӖٜࢤӝҊ
٘٣য ೠӖ۽ػ଼ӂद
4JNQMFJT#FTU %FMFHBUJPO %BUB$MBTT 4JOHMFUPO /VMM4BGFUZ &YQSFTTJPO %FTUSVDUVSJOH%FDMBSBUJPOT 5ZQF$IFDLTBOE$BTUT
*OUFMMJ+4VQQPSU 4IPX,PUMJO#ZUFDPEFÜ%FDPNQJMF %FDPNQJMFػ+BWB٘۽оמ
None
None
QMVVMPWF QMVVMPWFUFTU!HNBJMDPN