Submit Search
Upload
Scala type args
โข
3 likes
โข
445 views
Yong Joon Moon
Follow
scala type parameter (type variance, bounded type)
Read less
Read more
Software
Report
Share
Report
Share
1 of 50
Download now
Download to read offline
Recommended
Scala variable
Scala variable
Yong Joon Moon
ย
Scala namespace scope
Scala namespace scope
Yong Joon Moon
ย
Scala nested function generic function
Scala nested function generic function
Yong Joon Moon
ย
Scala syntax function
Scala syntax function
Yong Joon Moon
ย
Scala block expression
Scala block expression
Yong Joon Moon
ย
Scala implicit
Scala implicit
Yong Joon Moon
ย
Scala match pattern
Scala match pattern
Yong Joon Moon
ย
์ค์นผ๋ผ ํด๋์ค ์ดํดํ๊ธฐ _Scala class understanding
์ค์นผ๋ผ ํด๋์ค ์ดํดํ๊ธฐ _Scala class understanding
Yong Joon Moon
ย
Recommended
Scala variable
Scala variable
Yong Joon Moon
ย
Scala namespace scope
Scala namespace scope
Yong Joon Moon
ย
Scala nested function generic function
Scala nested function generic function
Yong Joon Moon
ย
Scala syntax function
Scala syntax function
Yong Joon Moon
ย
Scala block expression
Scala block expression
Yong Joon Moon
ย
Scala implicit
Scala implicit
Yong Joon Moon
ย
Scala match pattern
Scala match pattern
Yong Joon Moon
ย
์ค์นผ๋ผ ํด๋์ค ์ดํดํ๊ธฐ _Scala class understanding
์ค์นผ๋ผ ํด๋์ค ์ดํดํ๊ธฐ _Scala class understanding
Yong Joon Moon
ย
Scala companion object
Scala companion object
Yong Joon Moon
ย
Scala self type inheritance
Scala self type inheritance
Yong Joon Moon
ย
Scala trait usage
Scala trait usage
Yong Joon Moon
ย
Scala type class pattern
Scala type class pattern
Yong Joon Moon
ย
Scala dir processing
Scala dir processing
Yong Joon Moon
ย
C++ struct copy
C++ struct copy
์ก๋ฏธ ์ด
ย
JavaScript Fundermetal
JavaScript Fundermetal
Kwangho SEO
ย
Java generics
Java generics
Jaesup Kwak
ย
Start IoT with JavaScript - 1.๊ธฐ์ด
Start IoT with JavaScript - 1.๊ธฐ์ด
Park Jonggun
ย
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
Jinhwa Hong
ย
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
๋ฏผํ ๊น
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
ํด๊ฐ
ย
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
์ฌ์ ์ด
ย
์ดํํฐ๋ธ C++ (7~9)
์ดํํฐ๋ธ C++ (7~9)
์ต์ฑ ์กฐ
ย
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
quxn6
ย
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
Yong Joon Moon
ย
Start IoT with JavaScript - 7.ํ๋กํ ํ์
Start IoT with JavaScript - 7.ํ๋กํ ํ์
Park Jonggun
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
quxn6
ย
rust ownership
rust ownership
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
More Related Content
What's hot
Scala companion object
Scala companion object
Yong Joon Moon
ย
Scala self type inheritance
Scala self type inheritance
Yong Joon Moon
ย
Scala trait usage
Scala trait usage
Yong Joon Moon
ย
Scala type class pattern
Scala type class pattern
Yong Joon Moon
ย
Scala dir processing
Scala dir processing
Yong Joon Moon
ย
C++ struct copy
C++ struct copy
์ก๋ฏธ ์ด
ย
JavaScript Fundermetal
JavaScript Fundermetal
Kwangho SEO
ย
Java generics
Java generics
Jaesup Kwak
ย
Start IoT with JavaScript - 1.๊ธฐ์ด
Start IoT with JavaScript - 1.๊ธฐ์ด
Park Jonggun
ย
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
Jinhwa Hong
ย
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
๋ฏผํ ๊น
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
ํด๊ฐ
ย
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
์ฌ์ ์ด
ย
์ดํํฐ๋ธ C++ (7~9)
์ดํํฐ๋ธ C++ (7~9)
์ต์ฑ ์กฐ
ย
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
quxn6
ย
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
Yong Joon Moon
ย
Start IoT with JavaScript - 7.ํ๋กํ ํ์
Start IoT with JavaScript - 7.ํ๋กํ ํ์
Park Jonggun
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
quxn6
ย
What's hot
(20)
Scala companion object
Scala companion object
ย
Scala self type inheritance
Scala self type inheritance
ย
Scala trait usage
Scala trait usage
ย
Scala type class pattern
Scala type class pattern
ย
Scala dir processing
Scala dir processing
ย
C++ struct copy
C++ struct copy
ย
JavaScript Fundermetal
JavaScript Fundermetal
ย
Java generics
Java generics
ย
Start IoT with JavaScript - 1.๊ธฐ์ด
Start IoT with JavaScript - 1.๊ธฐ์ด
ย
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
์์ฝ์๋ฐ์คํฌ๋ฆฝํธ์คํฐ๋3์ฅ
ย
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
แแ ตแแ ขแแ กแฏแแ กแ แ ณแฏ แแ ฑแแ กแซ Javascript แแ กแฏแแ กแแ กแแ ต #6
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Start IoT with JavaScript - 5.๊ฐ์ฒด2
ย
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
ย
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
Ruby - 6th (๋ฃจ๋น 6์ฅ ๋ณ์์ ์)
ย
์ดํํฐ๋ธ C++ (7~9)
์ดํํฐ๋ธ C++ (7~9)
ย
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
๋ชจ์ด ์ดํํฐ๋ธ c++ 1,2์ฅ ์คํฐ๋
ย
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
ํ์ด์ฌ ๋ฐ์ดํฐ ๊ฒ์
ย
Start IoT with JavaScript - 7.ํ๋กํ ํ์
Start IoT with JavaScript - 7.ํ๋กํ ํ์
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
ย
More from Yong Joon Moon
rust ownership
rust ownership
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ ณแ แ ฉแแ ฅแแ ต แแ ตแแ ณแแ ณแ แ ตแธแแ ฅ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ณแ แ ฉแแ ฅแแ ต แแ ตแแ ณแแ ณแ แ ตแธแแ ฅ แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ ฎแซแแ กแแ งแฏ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ฎแซแแ กแแ งแฏ แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ ณแฏแ แ กแแ ณแแ ณ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ณแฏแ แ กแแ ณแแ ณ แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ แแ ขแแ ฎ แแ ฆแแ ตแแ ฅ แแ ฅแทแแ ขแจ แแ กแผแแ ฅแธ
แแ กแแ ตแแ ฅแซ แแ ขแแ ฎ แแ ฆแแ ตแแ ฅ แแ ฅแทแแ ขแจ แแ กแผแแ ฅแธ
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ Xml แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Xml แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ class ๋ฐ function namespace ์ดํดํ๊ธฐ
แแ กแแ ตแแ ฅแซ class ๋ฐ function namespace ์ดํดํ๊ธฐ
Yong Joon Moon
ย
ํ์ด์ฌ ์์ _csv ์ฒ๋ฆฌํ๊ธฐ
ํ์ด์ฌ ์์ _csv ์ฒ๋ฆฌํ๊ธฐ
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ Special method แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Special method แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
ํ์ด์ฌ ํ์ผ์ฒ๋ฆฌ ์ดํดํ๊ธฐ
ํ์ด์ฌ ํ์ผ์ฒ๋ฆฌ ์ดํดํ๊ธฐ
Yong Joon Moon
ย
Python+numpy pandas 4แแ งแซ
Python+numpy pandas 4แแ งแซ
Yong Joon Moon
ย
Python+numpy pandas 3แแ งแซ
Python+numpy pandas 3แแ งแซ
Yong Joon Moon
ย
Python+numpy pandas 2แแ งแซ
Python+numpy pandas 2แแ งแซ
Yong Joon Moon
ย
Python+numpy pandas 1แแ งแซ
Python+numpy pandas 1แแ งแซ
Yong Joon Moon
ย
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
Yong Joon Moon
ย
แแ ฉแแ ณแแ ณแแ ฐแแ ฅแแ ช แแ ตแซแแ ฎแซแแ กแจ
แแ ฉแแ ณแแ ณแแ ฐแแ ฅแแ ช แแ ตแซแแ ฎแซแแ กแจ
Yong Joon Moon
ย
More from Yong Joon Moon
(17)
rust ownership
rust ownership
ย
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ กแซแแ ฉแจแแ ก แแ ขแผแแ ฅแผแแ ก แแ ตแแ ขแแ กแแ ต
ย
แแ กแแ ตแแ ฅแซ แแ ณแ แ ฉแแ ฅแแ ต แแ ตแแ ณแแ ณแ แ ตแธแแ ฅ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ณแ แ ฉแแ ฅแแ ต แแ ตแแ ณแแ ณแ แ ตแธแแ ฅ แแ ตแแ ขแแ กแแ ต
ย
แแ กแแ ตแแ ฅแซ แแ ฎแซแแ กแแ งแฏ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ฎแซแแ กแแ งแฏ แแ ตแแ ขแแ กแแ ต
ย
แแ กแแ ตแแ ฅแซ แแ ณแฏแ แ กแแ ณแแ ณ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ แแ ณแฏแ แ กแแ ณแแ ณ แแ ตแแ ขแแ กแแ ต
ย
แแ กแแ ตแแ ฅแซ แแ ขแแ ฎ แแ ฆแแ ตแแ ฅ แแ ฅแทแแ ขแจ แแ กแผแแ ฅแธ
แแ กแแ ตแแ ฅแซ แแ ขแแ ฎ แแ ฆแแ ตแแ ฅ แแ ฅแทแแ ขแจ แแ กแผแแ ฅแธ
ย
แแ กแแ ตแแ ฅแซ Xml แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Xml แแ ตแแ ขแแ กแแ ต
ย
แแ กแแ ตแแ ฅแซ class ๋ฐ function namespace ์ดํดํ๊ธฐ
แแ กแแ ตแแ ฅแซ class ๋ฐ function namespace ์ดํดํ๊ธฐ
ย
ํ์ด์ฌ ์์ _csv ์ฒ๋ฆฌํ๊ธฐ
ํ์ด์ฌ ์์ _csv ์ฒ๋ฆฌํ๊ธฐ
ย
แแ กแแ ตแแ ฅแซ Special method แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Special method แแ ตแแ ขแแ กแแ ต
ย
ํ์ด์ฌ ํ์ผ์ฒ๋ฆฌ ์ดํดํ๊ธฐ
ํ์ด์ฌ ํ์ผ์ฒ๋ฆฌ ์ดํดํ๊ธฐ
ย
Python+numpy pandas 4แแ งแซ
Python+numpy pandas 4แแ งแซ
ย
Python+numpy pandas 3แแ งแซ
Python+numpy pandas 3แแ งแซ
ย
Python+numpy pandas 2แแ งแซ
Python+numpy pandas 2แแ งแซ
ย
Python+numpy pandas 1แแ งแซ
Python+numpy pandas 1แแ งแซ
ย
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
ย
แแ ฉแแ ณแแ ณแแ ฐแแ ฅแแ ช แแ ตแซแแ ฎแซแแ กแจ
แแ ฉแแ ณแแ ณแแ ฐแแ ฅแแ ช แแ ตแซแแ ฎแซแแ กแจ
ย
Scala type args
1.
Scala generic ํํ abstract
type, bounded type, type variance myjlms99@gmail.com
2.
์ถ์ ํ์ abstract type
3.
Abstract type ์ถ์ํ์ ์ ๋ค์ํ
ํด๋์ค๋ก ํด์ํ ์ ์๋ ๋ช ์ธ ์ด๋ค. ์ถ์ ํ์ ์ ๋ณดํธ์ ์ผ๋ก ์ ๋ฌ๋ฐ์ ์ ์๋ ์ฆ ํ์ฉ๊ฐ๋ฅํ ํ์ ์ ๋ฒ์๋ฅผ ์ง์ ํ๊ธฐ ์ํด ํ์ ๋งค ๊ฐ๋ณ์๋ก ์ฌ์ฉ๋๋ค. ํธ๋ ์ดํธ ๋ด๋ถ์ type ํค ์๋๋ฅผ ์ด์ฉํด์ ์ถ์ํ์ ์ ์ธ ์ถ์ํ์ ์ ์ง์ ํ ๊ฒ์ ์์ํ๊ณ ์ด์ ๋ช ํํ ํ ์ ์ ์ง์ ํ๊ณ ํด๋์ค๊น์ง ๋ง๋ฆ
4.
ํ์ ๋งค๊ฐ๋ณ์ type parameter
5.
ํ์ ๋งค๊ฐ๋ณ์ ๊ฐ๋ฅํ ๊ณณ 4๊ฐ์
๋ํ์ ์ธ ๊ณณ์ ํ์ ์ธ์๋ฅผ ์ฌ์ฉํ ์ ์ ๋ค. class trait function method
6.
ํ์ ๋งค๊ฐ๋ณ์ ํ๊ธฐ๋ฒ 4๊ฐ์ ๋ํ์ ์ธ
๊ณณ์ ๋๊ดํธ๋ฅผ ์ฌ์ฉํด์ ๋ด๋ถ ์ ํ์ ์ธ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. class/trait/function/method[ํ์ ์ธ์]
7.
ํ์ ๋งค๊ฐ๋ณ์ ๋ฏธ์ฌ์ฉ
์ฒ๋ฆฌ ์ผ๋ฐ์ ์ผ๋ก ์์ ํ์ ์ ํ์ ํ์ ์ ์ง์ ํด์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
8.
ํ์ ๋งค๊ฐ๋ณ์ ์ฌ์ฉ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ
์ ์ํ๋ฉด ํน์ ํ ํด๋์ค๊ฐ ์๋ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉ๋๋ค ํด๋์ค ๋ช ๊ณผ ํ์ ๋งค๊ฐ๋ณ์ ๋ช ์ด ๊ฐ์ง๋ง ์ค์ ํ์ ๋งค๊ฐ ๋ณ์๋ ๋จ์ํ ์ธ์๋ฅผ ๋ฐ๋ ๋ณ์๋ก ์ฒ๋ฆฌ๋๋ค.
9.
ํ์ ๋งค๊ฐ๋ณ์ ์ข ๋ฅ ํ์
๊ฐ๋ณ์ฑ์ ์ง์ ํ๋ฉด ๊ทธ ํ์ ์ ์์๊ด๊ณ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํ์ง๋ง ๋ช ํํ ํ์ ์ ์ถ๊ฐ ์ ์ผ๋ก ์ง์ ํ๊ณ ์ ํ๋ฉด ๊ฒฝ๊ณ ํ์ ์ ์ง์ ํด ์ ์ฒ๋ฆฌํ ์ ์๋ค. ๊ฒฝ๊ณ๊ฐ ์๋ ํ์ : Bounded type => ์ ํ์ ์ฒ๋ฆฌ, ํ์ ์ด ์ด๋ ๋ฒ์ฃผ ์ฒ๋ฆฌ๊ฐ ์ค์ ํ์ ๋ณ์ฑ : type variance => ๊ฒฝ๊ณ ํ์ ๋ณด๋ค ๋ ์ ํ์ ์ฒ๋ฆฌ, ์ฃผ๋ก ํ์ ์นํ
10.
Type Parameter ์ง์ ํ๊ธฐ
11.
์ ๋๋ฆญ ํด๋์ค ํ๋ ์ด์์
ํ์ ์ธ์๊ฐ ์๋ ํด๋์ค๋ โ์ ๋ค๋ฆญ ํด๋์คโ์ด๊ณ ํ์ ์ธ์๋ฅผ ์ค์ ํ์ ์ผ ๋ก ๋์ฒดํ๋ฉด ์ผ๋ฐ ํด๋์ค์ด๋ค. ์์ฑ์์ ์ถ๋ก ์ ํ๊ฑฐ๋ ๋ช ์์ ์ผ๋ก ํ์ ์ ์ง์
12.
์ ๋๋ฆญ ํจ์ ํ์ ์ธ์๋ฅผ ์ด์ฉํด์
ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ค์ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ ์๋๋ก ์ ์ํด์ ์ฌ์ฉํ๋ค
13.
ํจ์์ ํ์ ๋งค๊ฐ๋ณ์
์ฃผ์ ์ฌํญ ํจ์์ ํ์ ์ธ์๋ก ์ฒ๋ฆฌํ ๋ ์ค์ ๋ก์ง์์ ํจ์ ์ ์ฐ์ฐ์ ๋ฑ์ ์ฌ์ฉํ ๋ ์ค์ ์ธ์์ ํ์ง ๋ชปํ๋ฏ ๋ก ํจ์๋ฅผ ์ ๋ฌํด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
14.
Type variance ์์๊ด๊ณ๋ก ์ ํํ๊ธฐ
15.
๊ณต๋ณ์ฑ, ๋ฐ๊ณต๋ณ์ฑ, ๋ฌด๊ณต๋ณ์ฑ ๊ณต๋ณ์ฑ์
์์ ํ์ ์ผ๋ก ์นํ์ด ๊ฐ๋ฅํ๊ณ ๋ฐ๊ณต๋ณ์ฑ์ ๋ถ๋ชจ ํ์ ์ผ๋ก ์นํ์ด ๊ฐ๋ฅํ๋ค. ๋ฌด๊ณต๋ณ์ฑ์ ์ง์ ๋ ํ์ ์ผ๋ก๋ง ์ฒ๋ฆฌ๋๋ค. ์์์ ๋ฐ๋ฅธ ๋ณ์ฑ ํ์ ์์คํ ์ ์ดํด ํ๊ธฐ ์ํด์ ์์์ ๋ค๋ฅธ ๋ณ์ฑ(variance)์ ์ดํด ํด์ผ ํ๋ค.
16.
๋ฌด๊ณต๋ณ์ฑ ํ์ ๋งค๊ฐ๋ณ์์ ์ ์ธํ
๊ฒฝ์ฐ ์ค์ ์ธ์คํด ์ค ์์ฑํ ๋ ํ์ ์ด ํ์ ๋๋ฉด ์์๊ด๊ณ์ ์๊ด์์ด ํ์ ๋์ด ์ฒ๋ฆฌ๋๋ค. class ํด๋์ค๋ช [ํ์ ๋งค๊ฐ๋ณ์] ํ์ ๋งค๊ฐ๋ณ์์ ์ ์ฝ์ด ์๋ค
17.
๋ณํ์ง ์๋ ํ์
๋งค๊ฐ๋ณ์ ์ฌ์ฉ ์ฃผ์ด์ง ํ์ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ๋ง ๊ฒฐ์ ๋์ด ์ฒ๋ฆฌ๋๋ค.
18.
๋ณํ์ง ์๋ ํ์ ์
๋ํ ๋ณ์ํ ๋น ํ์ ๋งค๊ฐ๋ณ์๋ก ์ง์ ํ ๊ฒฝ์ฐ ์ค์ ์์ ํด๋์ค ๋ด์ ํ์ํด๋์ค๋ก ์ฒ๋ฆฌํ ๊ฒฝ์ฐ ๋ช ํํ ํด๋์ค๋ค์ ์ดํดํ์ง ๋ชปํ๋ค.
19.
ํ์ ๋ณ์ฑ ์ฒ๋ฆฌ
๊ธฐ์ค ์ผ๋ฐ์ ์ผ๋ก ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ํ ๋๋ ํด ๋์ค์ ๋ฐํ๊ฐ, ๋ฉ์๋๋ ํจ์ ๋ฑ์ ๊ตฌ๋ถํด์ ํ์ ๊ฐ๋ณ์ฑ์ ํ์ํ๋ฉฐ, "์ ๋ค๋ฆญ ์ ํ"๊ฐ๋ ์ด ๋ฉฐ ๋งค๊ฐ ๋ณ์ํ ๋ ์ ํ์ ๋ฉ์๋์ ์ ๋ฌํ ์ ์๋ ๊ท์น์ ์ ์ํฉ๋๋ค ๋ฉ์๋๋ ํจ์๋ ๋ฐ๊ณต๋ณ์ฑ ํด๋์ค ์ ์ ๋ฐ ๋ฐํ๊ฐ์ ๊ณต๋ณ์ฑ
20.
ํ์ ๋ณ์ฑ ์ฒ๋ฆฌ๊ธฐ์ค ๊ณต๋ณ์ฑ์ ํ์ฌ
ํด๋์ค์ ํ์ ํด๋์ค๋ฅผ ๊ธฐ ์ค์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ฐ๊ณต๋ณ์ฑ์ ์์ ํด๋์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ ์ ์๋ค.
21.
๋ณ์ ํ ๋น์ ๊ณต๋ณ์ฑ
์ฒ๋ฆฌ ํด๋์ค๋ฅผ ์ ์ํ ๋ ํ์ ๋ฒ ๋ฆฌ์ธ์ค๋ก ์ฒ๋ฆฌ ํด์ผ ์์ ํด๋์ค๋ก ์ง์ ๋ ๋ณ์์ ํ ๋น์ด ๊ฐ๋ฅํ๋ค. ๋ถ๋ชจํด๋์ค ์์ํด๋์ค ๊ณต๋ณ์ฑ์ ๋ถ๋ชจ ํด๋์ค๋ก ์ง์ ๋ ๊ฒ์ ์์ ํด๋์ค๋ก ๋์ ํด๋ ์ฒ๋ฆฌ๋๋ค.
22.
ํ์ ๋ณ์ฑ : ๊ณต๋ณ์ฑ
์ฌ์ฉ ํ์ ๋งค๊ฐ๋ณ์์ ํ์ ๋ณ์ฑ์ ๊ณต๋ณ์ฑ์ผ๋ก ์ง์ ํ๋ฉด ๋ณธ์ธ๋ถํฐ ํ์ ํ์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ณ์์ ํ ๋นํ ๋๋ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ์๋ธํ์ ์ด ๊ธฐ๋ณธํ์ ์ ๋ณ์์ ํ ๋น์ด ๋์๋ค
23.
๋ณ์ ํ ๋น์ ๋
๊ฐ ๋์ ์ฌ์ฉ ๋ฐ์ด๋ ํ์ ๊ณผ ํ์ ๋ณ์ฑ์ ๋ค ์ฌ์ฉํด์ ์ฒ ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค.
24.
ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ํน์ ํด์ ์ ํํ๊ธฐ(Bounded
Type)
25.
ํ์ ๋งค๊ฐ๋ณ์ ์ ํํ๊ธฐ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ
์ง์ ํ ๋ ๋คํ์ฑ์ ๋ํ ํน์ ๊ฒฝ๊ณ๋ฅผ ์ ํํ ์ ์๋ค. ํน์ ์์ ๊ด๊ณ์ ํ์ ๋งค๊ฐ๋ณ์(๋ณ์ฑ ์ง์ ) ํน์ ๋ฒ์ ์ ํ ํ์ <: >: <% : ํน์ ๋ฒ์ ์ ํ์ ์ํ ์ฐ ์ฐ
26.
Bounded type ์ฌ์ฉ
์ด์ 1 ๋งค๊ฐ๋ณ์ํํ ํ์ ์ด๋ ๋ฉ์๋๋ฅผ ์ ์ํ ๋, ํ์ ๋งค๊ฐ๋ณ์์ ๋ํด ๊ตฌ์ฒด์ ์ธ ๋ฐ์ด๋ ๋ฅผ ์ง์ ํ ์ ์๋ค.
27.
Bounded type ์ฌ์ฉ
์ด์ 2 ํ์ ๋งค๊ฐ๋ณ์๊ฐ ํน์ ํ์ ์ผ๋ก ์ธ์์ด ํ ์ํ๋ฏ๋ก ํ์ ๋งค๊ฐ๋ณ์์ ์ฌ ์ ์๋ ํด๋ ์ค๋ฅผ ํ์ ํ๋ ๊ฒ์ ๋งํ๋ค.
28.
์์ Bound ์ดํดํ๊ธฐ
29.
์์๊ฒฝ๊ณ์ ํ์๊ฒฝ๊ณ ์์๊ฒฝ๊ณ๊ณผ ํ์๊ฒฝ๊ณ๋
์ ํด์ง ๊ฒฝ๊ณ๋ฅผ ์ค ์ฌ์ผ๋ก ์์ ํ์ ๊ณผ ํ์ ํ์ ์ ์ฒ๋ฆฌํ๋ค. ์์๊ฒฝ๊ณ [ T <: A] ๋ก ํ์ ํด๋น A ํ์ ๊ณผ ๊ทธ ํ์ ํ์ ๋ค์ ํฌํจํด ์ ์ฒ๋ฆฌ Upper Bound (T <: Pet) : T๋ ์ ์ด๋ Pet ํด๋์ค ๋ Pet์ ํ์ ํด๋ ์ค๋ฅผ ์์ ํ ๋ชจ๋ ํด๋์ค์ ์ ์ฉ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
30.
์์๊ฒฝ๊ณ: upper bound
1 ํด๋์ค๋ฅผ ์ ์ํ๊ณ ์์์ ํ๋ค. ์ค์ ์ฒ ๋ฆฌํ๋ ํด๋์ค ๋ด์ ๋ฉ์๋ ๋ด์ ์์๊ฒฝ๊ณ ๋ฅผ ์ง์ ํ๋ค
31.
์์๊ฒฝ๊ณ: upper bound
2 ์์ ๊ฒฝ๊ณ๋ฅผ ์ต์์ A ํด๋์ค๋ก ์ง์ ํ์ง ์์์ ์ต์์ ํด๋์ค๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค.
32.
๋ณ์ ํ ๋น์ bounded
type 1 ํ์ ๋งค๊ฐ๋ณ์์ ํ์ ๋ฐ์ด๋๋ก ์ง์ ํ ๊ฒฝ ์ฐ๋ ์ค์ ํ์ํ์ ์ด ์์ํ์ ์ ๋ง์ถฐ ๋ณ ํ์ง ์๋๋ค. Bounded type ์ผ๋ก ์ง์ ํ์ง๋ง ๋ณ์ ํ ๋น์๋ ๊ณต๋ณ์ฑ์ด ํ ์ํ๋ค.
33.
๋ณ์ ํ ๋น์ bounded
type 2 ์ ํ์ด์ง์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ ์ ๊ณต๋ณ์ฑ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค. ๊ณต๋ณ์ฑ์ ์ง์ ํด์ ์์๊ด๊ณ๋ฅผ ์ง์ ํ ๊ณ ํน์ ํด๋์ค๋ก ๋ฐ์ด๋๋ฅผ ์ง์ ํด์ ์ฒ๋ฆฌํ๋ฉด ๋ณ์์ ์ง ์ ํด์ ์ฒ๋ฆฌ
34.
ํจ์ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ
ํน์ ํํ๊ธฐ ์ ๋๋ฆญ ํ์ ์ ์ฒ๋ฆฌํ๊ธฐ ๋ณด๋ค ํน์ ํ์ ์ ์ง์ ํด์ ์ง์ ๋ฒ์ ๋ด์์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ง์ ํ ์ ์๋ค.
35.
๋ฉ์๋์ bounded type ๋ฉ์๋
๋ด์ ํน์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ทธ ๋งค๊ฐ๋ณ์๋ฅผ ํน์ ๊ฒฝ๊ณ๋ก ํ์ ํ๋ฉด ์ค์ ๊ทธ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
36.
ํจ์์์ ์์๊ฒฝ๊ณ: upper
bound <: ๋ฅผ ์ด์ฉํด์ ์์ ํด๋์ค ๊ฒฝ๊ณ๋ฅผํ ๋ ๊ณต๋ณ์ฑ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์์๊ฒฝ๊ณ๋ invariant์์๋ง ๊ฐ๋ฅ
37.
ํจ์์์ ์์๊ฒฝ๊ณ์ ์์
ํด๋์ค ์ง์ <: ๋ฅผ ์ด์ฉํด์ ์์ ํด๋์ค ๊ฒฝ๊ณ๋ฅผ ๋ถ์ฌ ํ๋ฉด ํ์ ํด๋์ค์ ๋ํ ๊ฒ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ ํ๋ค. ์์ ํด๋์ค๋ฅผ ์ง์ ํ ๋ฉด ํ์ ํด๋์ค์ ๋ ํ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ
38.
ํ์ Bound ์ดํดํ๊ธฐ
39.
ํ์๊ฒฝ๊ณ ํ์๊ฒฝ๊ณ๋ ์ ํด์ง ๊ฒฝ๊ณ๋ฅผ
์ค์ฌ์ผ๋ก ์์ ํ์ ๊ณผ ํ์ ํ์ ์ ์ฒ๋ฆฌํ๋ค. ํ์๊ฒฝ๊ณ [ T >: A] ๋ก ํ์ ํด๋น A ํ์ ๊ณผ ๊ทธ ์์ ํ์ ๋ค์ ํฌํจํด ์ ์ฒ๋ฆฌ Lower Bound (T >: Pet) : T๋ Pet ํด๋์ค์ ๋ถ๋ชจ ํด๋์ค ์ค ์ ์ด๋ ํ๋๋ฅผ ์์๋ฐ์ ๋ชจ๋ ํด๋์ค์ ์ ์ฉ๋จ์ ์๋ฏธํฉ๋๋ค.
40.
ํ์๊ฒฝ๊ณ ์ดํดํ๊ธฐ >: ๋ก
์ง์ ํ๋ฉด ํ์๊ฒฝ๊ณ๊ฐ ํ์ฑ๋๋ฉด ์ค์ ํ์๊ฒฝ๊ณ๊ฐ ๊ตฌ์ฑ๋ ๋ถ๋ชจ ํด๋์ค๋ก ๊ตฌํ๋ ๋ชจ ๋ ๊ฒ์ด ํด๋นํ๋ฏ๋ก ์ซ์๋ง๊ณ ๋ ๋ฌธ์์ด๋ ์ฒ ๋ฆฌ๋๋ค.
41.
ํ์๊ฒฝ๊ณ ์ดํดํ๊ธฐ >: ๋ก
์ง์ ํ๋ฉด ํ์๊ฒฝ๊ณ๊ฐ ํ์ฑ๋๋ฉด ์ค์ ํ์๊ฒฝ๊ณ๊ฐ ๊ตฌ์ฑ๋ ๋ถ๋ชจ ํด๋์ค๋ก ๊ตฌํ๋ ๋ชจ ๋ ๊ฒ์ด ํด๋นํ๋ฏ๋ก ์ซ์๋ง๊ณ ๋ ๋ฌธ์์ด๋ ์ฒ ๋ฆฌ๋๋ค.
42.
ํ์๊ฒฝ๊ณ: lower bound >:
๋ฅผ ์ด์ฉํด์ ํ์ ํด๋์ค ๊ฒฝ๊ณ๋ฅผ ๋ถ์ฌํ ๋ฉด ์์ ํด๋์ค์ ๋ํ ๊ฒ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ์ผ๋จ AnyVal๋ก ์ง์ ํ๊ณ Long ์๋ฃํ์ ๋ฃ์ด ์ ์ฒ๋ฆฌํ ์ ์๋ค.
43.
ํ์๊ฒฝ๊ณ: lower bound >:
๋ฅผ ์ด์ฉํด์ ํ์ ํด๋์ค ๊ฒฝ๊ณ๋ฅผ ๋ถ์ฌํ ๋ฉด ์์ ํด๋์ค์ ๋ํ ๊ฒ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ์ผ๋จ String์ผ๋ก ์ฒ๋ฆฌํด๋ ํด๋น ํ์ ๋ ์ฒ๋ฆฌ๊ฐ ๋๋ค.
44.
๋ทฐ Bound ์ดํดํ๊ธฐ
45.
๋ทฐ ๊ฒฝ๊ณ ๋ทฐ ๋ฐ์ด๋
(view bound)๋ ์ด๋ค ํ์ A๋ฅผ ๋ง์น ์ด๋ค ํ์ T (์ค์ ํ์ )์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋กํ๋ Scala์ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ๋ทฐ ๊ฒฝ๊ณ [ T <% A] ๋ก ํ์ ์ด๋ค ํ์ ์ ๋ค๋ฅธ ํ์ ์ผ๋ก โ๋ณผ ์ ์๋์งโ ๋ฅผ ์ง์ ํ๋ค
46.
ํด๋์ค์ ํ์ ๋งค๊ฐ๋ณ์ ์ง์ ๋ทฐ
๊ฒฝ๊ณ๋ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ๋ ํ์ ์ผ๋ก ์ธ์ ํ๊ณ ์ฒ๋ฆฌํ๋ค.
47.
ํจ์์ ํ์ ๋งค๊ฐ๋ณ์ ์ง์ <%
๋ฅผ ์ด์ฉํด์ ํ์ฌ ํ์ ๋งค๊ฐ๋ณ์์ ์ ๋ฌต์ ์ผ๋ก ํด๋์ค๋ฅผ ์ง์ ํด์ ์ฒ๋ฆฌ
48.
์ปจํ ์คํธ Bound ์ดํดํ๊ธฐ
49.
์ปจํ ์คํธ ๊ฒฝ๊ณ ์ปจํ ํธ์ค ๊ฒฝ๊ณ๋
T : M์ผ๋ก ์ฐ์ฌ์ง๋ค. M [T] ์ ๋ํ ์๋ฌต์ ์ธ ๊ฐ์ ์กด์ฌ๋ฅผ ํ์๋กํ๋ค. ์ปจํ ์คํธ ๊ฒฝ๊ณ [ T : A] ๋ก ํ์ ํด๋น A ํ์ ๊ณผ ๊ทธ ์์ ํ์ ๋ค์ ํฌํจ ํด์ ์ฒ๋ฆฌ ์ปจํ ์คํธ ๋ฐ์ด๋๋ ํ์ ํ๋ผ๋ฏธํฐ์ ํ์ ํด๋์ค ์ฌ์ด์ ์ ์ฝ ์กฐ๊ฑด ์ด๋ค ์ปจํ ์คํธ ๋ฐ์ด๋๋ ๋ทฐ ๋ฐ์ธ๋ฉ์ ์์์ ๋ณํ ๋์ ์์์ ๊ฐ์ ์ค๋ช ํฉ๋๋ค context bound๋ ์์์ ์ธ ๊ฐ์ ์กด์ฌ๋ฅผ ์ฃผ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค
50.
์ปจํ ์คํธ ๋ฐ์ด๋ ํ๋์ ํด๋์ค๋ฅผ
๋ง๋ค๊ณ ํจ์์ ์ปจํ ์คํธ ๋ฐ์ด๋๋ฅผ ์ง์ ํ๊ณ ์ด ๋ด๋ถ์ ๋ฉ์๋๋ฅผ ํธ ์ถํด์ ์ฒ๋ฆฌํ๊ธฐ
Download now