Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kotlin Dynamic type
Search
coe
September 26, 2023
Technology
0
380
Kotlin Dynamic type
集まれSwift好き!Swift愛好会 vol.77 @ DeNA
2023/09/26
coe
September 26, 2023
Tweet
Share
More Decks by coe
See All by coe
すべてのヘルスケアデータを紐解く.pdf
coe
0
3.1k
About HealthKit nutrition
coe
0
450
iOSDC 2023 Web in tvOS and watchOS
coe
1
890
iOSDC 2023 Push To Talk
coe
1
2.4k
iOSDC手で触れずにアプリを動かす技術
coe
1
2.1k
iOSDC令和時代のXML処理を考える
coe
3
2.9k
iOSDC 2021 Restore
coe
6
2.2k
詳解Storyboard
coe
7
3.9k
あなたの知らない連絡先の世界
coe
15
8.3k
Other Decks in Technology
See All in Technology
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか
kyamashiro73
0
160
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
1.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
1
150
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
550
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.2k
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.3k
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
160
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
220
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
670
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
72
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
220
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
66
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
530
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
The Limits of Empathy - UXLibs8
cassininazir
1
200
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Designing for Timeless Needs
cassininazir
0
110
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Transcript
ڧ݄ %ZOBNJDUZQF ू·Ε4XJGU͖ʂ4XJGUѪձWPM ू·Ε,PUMJO͖ʂ,PUMJOѪձWPM!%F/"
w ڧ w J04ΤϯδχΞ
%ZOBNJDUZQF
w ڧ w J04Τ ϯδχ Ξ
%ZOBNJD UZQF
fun dynamicFun(x: dynamic): Unit { val dyn: dynamic = ...
} ,PUMJO%ZOBNJDUZQF
%ZOBNJDUZQF
%ZOBNJDUZQF w EZOBNJDܕ w WBMEZOEZOBNJDʜ w ͳΜͰೖΔ
fun dynamicFun(x: dynamic): Unit { }
fun dynamicFun(x: dynamic): Unit { } fun anyFun(x: Any): Unit
{ }
fun dynamicFun(x: dynamic): Unit { x.god } fun anyFun(x: Any):
Unit { x.god // ←ίϯύΠϧΤϥʔ }
%ZOBNJDUZQF w EZOBNJDܕ w WBMEZOEZOBNJDʜ w ͳΜͰೖΔ w ܕνΣοΫΛߦΘͳ͍ʢίϯύΠϧΤϥʔʹͳΒͳ͍ʣ
// xHuman fun dynamicFun(x: dynamic): Unit { x.back.left.left.up.scratch() } class
Back { val left: Back get() = Back() val right: Back get() = Back() val up: Back get() = Back() val down: Back get() = Back() fun scratch(): Unit { println(“ຬʂ”) } } class Human { val back = Back() }
%ZOBNJDUZQF w EZOBNJDܕ w WBMEZOEZOBNJDʜ w ͳΜͰೖΔ w ܕνΣοΫΛߦΘͳ͍ʢίϯύΠϧΤϥʔʹͳΒͳ͍ʣ w
ࣗ༝ʹϓϩύςΟؔΛݺΔ w EZOBNJDܕͷϓϩύςΟؔͷϦλʔϯEZOBNJDܕ
fun dynamicPlus(x: dynamic, y: dynamic): Unit { x + y
}
fun dynamicPlus(x: dynamic, y: dynamic): Unit { x + y
// 3 } dynamicPlus(1, 2)
fun dynamicPlus(x: dynamic, y: dynamic): Unit { x + y
// ڧ } dynamicPlus(“”, “ڧ”)
fun dynamicPlus(x: dynamic, y: dynamic): Unit { x + y
// iOSΤϯδχΞ } dynamicPlus(“iOS”, “ΤϯδχΞ”)
fun dynamicPlus(x: dynamic, y: dynamic): Unit { x + y
// 105ΤϯδχΞ } dynamicPlus(105, “ΤϯδχΞ”)
%ZOBNJDUZQF w EZOBNJDܕ w WBMEZOEZOBNJDʜ w ͳΜͰೖΔ w ܕνΣοΫߦΘͳ͍ʢίϯύΠϧΤϥʔʹͳΒͳ͍ʣ w
ࣗ༝ʹϓϩύςΟؔΛݺΔ w EZOBNJDܕͷϓϩύςΟEZOBNJDܕ w EZOBNJDಉ࢜ͷܭࢉՄೳ
͍͢͝ʂ
͡ΊΑ͏
,PUMJO+4
IUUQTLPUMJOMBOHPSHEPDTEZOBNJDUZQFIUNM %ZOBNJDUZQF
None