Submit Search
03. function in typescript
0 likes
154 views
H
Han JaeYeab
TypeScript TUtorial 3. Function in TypeScript
Software
Read more
1 of 17
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
More Related Content
PPTX
Std bind
๋ฌธ์ต ์ฅ
ย
PDF
Haskell study 15
Nam Hyeonuk
ย
PDF
[Swift] Generics
Bill Kim
ย
PDF
Haskell study 8
Nam Hyeonuk
ย
PDF
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
PDF
Haskell study 4
Nam Hyeonuk
ย
PDF
Haskell study 6
Nam Hyeonuk
ย
PPTX
C# ์ธ๋ฏธ๋ 12ํ์ฐจ
Jeung_mh
ย
Std bind
๋ฌธ์ต ์ฅ
ย
Haskell study 15
Nam Hyeonuk
ย
[Swift] Generics
Bill Kim
ย
Haskell study 8
Nam Hyeonuk
ย
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
Haskell study 4
Nam Hyeonuk
ย
Haskell study 6
Nam Hyeonuk
ย
C# ์ธ๋ฏธ๋ 12ํ์ฐจ
Jeung_mh
ย
What's hot
(20)
PDF
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
PDF
Haskell study 14
Nam Hyeonuk
ย
PDF
Haskell study 13
Nam Hyeonuk
ย
PDF
Haskell study 10
Nam Hyeonuk
ย
PDF
Haskell study 12
Nam Hyeonuk
ย
PPTX
์๋ฐ์คํฌ๋ฆฝํธ
Hansol_
ย
PDF
Haskell study 7
Nam Hyeonuk
ย
PDF
07. type system
Han JaeYeab
ย
PPTX
C review
Young Wook Kim
ย
PDF
Haskell study 9
Nam Hyeonuk
ย
PDF
Haskell study 5
Nam Hyeonuk
ย
PDF
01. basic types
Han JaeYeab
ย
PDF
9. pointer
์ ์ ์
ย
PPTX
Matplotlib ๊ธฐ์ด ์ดํดํ๊ธฐ_20160730
Yong Joon Moon
ย
PDF
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Park Jonggun
ย
PDF
Start IoT with JavaScript - 2.์ฐ์ฐ์
Park Jonggun
ย
PDF
Javascript hoisting
Ohgyun Ahn
ย
PPTX
Hacosa js study 7th
Seong Bong Ji
ย
PPTX
Lua ๋ฌธ๋ฒ -ํจ์
Jaehoon Lee
ย
PDF
์๋๋ก์ด๋๊ธฐ์ด
hylo926
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
Haskell study 14
Nam Hyeonuk
ย
Haskell study 13
Nam Hyeonuk
ย
Haskell study 10
Nam Hyeonuk
ย
Haskell study 12
Nam Hyeonuk
ย
์๋ฐ์คํฌ๋ฆฝํธ
Hansol_
ย
Haskell study 7
Nam Hyeonuk
ย
07. type system
Han JaeYeab
ย
C review
Young Wook Kim
ย
Haskell study 9
Nam Hyeonuk
ย
Haskell study 5
Nam Hyeonuk
ย
01. basic types
Han JaeYeab
ย
9. pointer
์ ์ ์
ย
Matplotlib ๊ธฐ์ด ์ดํดํ๊ธฐ_20160730
Yong Joon Moon
ย
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Park Jonggun
ย
Start IoT with JavaScript - 2.์ฐ์ฐ์
Park Jonggun
ย
Javascript hoisting
Ohgyun Ahn
ย
Hacosa js study 7th
Seong Bong Ji
ย
Lua ๋ฌธ๋ฒ -ํจ์
Jaehoon Lee
ย
์๋๋ก์ด๋๊ธฐ์ด
hylo926
ย
Ad
Similar to 03. function in typescript
(20)
PDF
[Swift] Functions
Bill Kim
ย
PPT
๋ณ์ ์ด๋ฆ์ ํจ๊ณผ
๋ฏผ์ฑ ์ด
ย
PDF
06์ฅ ํจ์
์ ์ ๋จ
ย
PPT
C์์ ์๋ฃ
koominsu
ย
PPT
C์์ ์๋ฃ
koominsu
ย
PDF
6 function
์ ์ ์
ย
PPTX
แแ กแแ ตแแ ฅแซ+Json+แแ ตแแ ขแแ กแแ ต 20160301
Yong Joon Moon
ย
PPTX
Startup JavaScript 5 - ๊ฐ์ฒด(Date, RegExp, Object, Global)
Circulus
ย
PPTX
(๋ท๋ท, C#๊ธฐ์ด๊ต์ก)C#์ ํ์ ์ธ์, ๋ช ๋ช ๋ ์ธ์
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
PPTX
แแ กแแ ตแแ ฅแซแแ ฅแผแ แ ต 20160130
Yong Joon Moon
ย
PPTX
C++11
Yubin Lim
ย
PPTX
Angular2 ๊ฐ๊ธฐ์ Type script์๊ฐ
Dong Jun Kwon
ย
PPTX
ํฌํธํด๋ฆฌ์ค์์ ์ฌ์ฉํ ๋ชจ๋ C++
KWANGIL KIM
ย
DOCX
Javascript ์๋ฒฝ ๊ฐ์ด๋ ์ ๋ฆฌ
ETRIBE_STG
ย
PDF
ํ๋ก๊ทธ๋๋ฐ ๋ํ: C++11 ์ด์ผ๊ธฐ
Jongwook Choi
ย
PPTX
Angular2๋ฅผ ์ํ ํ์ ์คํฌ๋ฆฝํธ
Jin wook
ย
PDF
2014-15 Intermediate C++ Study #7
Chris Ohk
ย
PPTX
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
PPTX
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
Yong Joon Moon
ย
PPTX
java_2์ฅ.pptx
HeeJung Chae
ย
[Swift] Functions
Bill Kim
ย
๋ณ์ ์ด๋ฆ์ ํจ๊ณผ
๋ฏผ์ฑ ์ด
ย
06์ฅ ํจ์
์ ์ ๋จ
ย
C์์ ์๋ฃ
koominsu
ย
C์์ ์๋ฃ
koominsu
ย
6 function
์ ์ ์
ย
แแ กแแ ตแแ ฅแซ+Json+แแ ตแแ ขแแ กแแ ต 20160301
Yong Joon Moon
ย
Startup JavaScript 5 - ๊ฐ์ฒด(Date, RegExp, Object, Global)
Circulus
ย
(๋ท๋ท, C#๊ธฐ์ด๊ต์ก)C#์ ํ์ ์ธ์, ๋ช ๋ช ๋ ์ธ์
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
แแ กแแ ตแแ ฅแซแแ ฅแผแ แ ต 20160130
Yong Joon Moon
ย
C++11
Yubin Lim
ย
Angular2 ๊ฐ๊ธฐ์ Type script์๊ฐ
Dong Jun Kwon
ย
ํฌํธํด๋ฆฌ์ค์์ ์ฌ์ฉํ ๋ชจ๋ C++
KWANGIL KIM
ย
Javascript ์๋ฒฝ ๊ฐ์ด๋ ์ ๋ฆฌ
ETRIBE_STG
ย
ํ๋ก๊ทธ๋๋ฐ ๋ํ: C++11 ์ด์ผ๊ธฐ
Jongwook Choi
ย
Angular2๋ฅผ ์ํ ํ์ ์คํฌ๋ฆฝํธ
Jin wook
ย
2014-15 Intermediate C++ Study #7
Chris Ohk
ย
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
Yong Joon Moon
ย
java_2์ฅ.pptx
HeeJung Chae
ย
Ad
More from Han JaeYeab
(18)
PDF
06. decorator
Han JaeYeab
ย
PDF
05. generics in typescript
Han JaeYeab
ย
PDF
04. interface in typescript
Han JaeYeab
ย
PDF
02. class in typescript
Han JaeYeab
ย
PDF
intro. typescript playground
Han JaeYeab
ย
PDF
[ES6] 12. Array
Han JaeYeab
ย
PDF
[ES6] 11. Modularization, import์ export
Han JaeYeab
ย
PDF
[ES6] 10. Generator
Han JaeYeab
ย
PDF
[ES6] 9. Iterator
Han JaeYeab
ย
PDF
[ES6] 8. Symbol
Han JaeYeab
ย
PDF
[ES6] 7. Template literal
Han JaeYeab
ย
PDF
[ES6] 6. Class
Han JaeYeab
ย
PDF
[ES6] 5. Destructuring
Han JaeYeab
ย
PDF
[ES6] 4. Spread, Rest parameter
Han JaeYeab
ย
PDF
[ES6] 3. iteration
Han JaeYeab
ย
PDF
[ES6] 2. arrow function
Han JaeYeab
ย
PDF
[ES6] 1. let๊ณผ const
Han JaeYeab
ย
PDF
แแ ณแฏแ แ กแแ ฎแแ ณ แแ ฅแทแแ ฒแแ ตแผแแ ฆ แแ ขแแ กแซ แแ ตแแ ฉแซแแ ฅแจแแ ตแซ แแ ตแแ ข
Han JaeYeab
ย
06. decorator
Han JaeYeab
ย
05. generics in typescript
Han JaeYeab
ย
04. interface in typescript
Han JaeYeab
ย
02. class in typescript
Han JaeYeab
ย
intro. typescript playground
Han JaeYeab
ย
[ES6] 12. Array
Han JaeYeab
ย
[ES6] 11. Modularization, import์ export
Han JaeYeab
ย
[ES6] 10. Generator
Han JaeYeab
ย
[ES6] 9. Iterator
Han JaeYeab
ย
[ES6] 8. Symbol
Han JaeYeab
ย
[ES6] 7. Template literal
Han JaeYeab
ย
[ES6] 6. Class
Han JaeYeab
ย
[ES6] 5. Destructuring
Han JaeYeab
ย
[ES6] 4. Spread, Rest parameter
Han JaeYeab
ย
[ES6] 3. iteration
Han JaeYeab
ย
[ES6] 2. arrow function
Han JaeYeab
ย
[ES6] 1. let๊ณผ const
Han JaeYeab
ย
แแ ณแฏแ แ กแแ ฎแแ ณ แแ ฅแทแแ ฒแแ ตแผแแ ฆ แแ ขแแ กแซ แแ ตแแ ฉแซแแ ฅแจแแ ตแซ แแ ตแแ ข
Han JaeYeab
ย
03. function in typescript
1.
[TS] 3. Function
in TypeScript by. Jbee
2.
TypeScript์์ํจ์๋ฅผ์ ์ํ๋๋ฐ์์ด์๋ช๊ฐ์ง์ถ๊ฐ๋๊ธฐ๋ฅ์๋ํด์ดํด ๋ด ๋๋ค.
3.
Table of Contents Return
type, Parameter type Default Parameter / Rest Parameter Optional Parameter Union Type Overloading
4.
์ธ์์๋ฐํ๊ฐ์ํ์ ์์ค์ ํ๋ค. ํจ์๋๋๋ฉ์๋๋ฅผ์ ์ํ ๋, ํ์ ์์ ์ํด์ค๋๋ค. ES6 code function
getMonthFromString(dateOfStringFormat) { const monthOfNumberFormat = parseInt(dateOfStringFormat.subst return monthOfNumberFormat; }
5.
์ํจ์๋'201712'์ด๋ผ๋๋ฌธ์์ด์๋ฐ์์ํด๋นํ๋์์๋ฐํํ๋ํจ์์ ๋ ๋ค. (๋ฐํ๊ฐ์ํ์์๋ช ์ํ๊ธฐ ์ํด๋ฐ๋กreturnํ์ง์๊ณ
๋ณ์์์์๋ก๋ฐ์ ์ค๋ค๋ฐํํฉ๋๋ค.) ์์๊ฐ์ดString ํ์ ์์ธ์๋ฅผ๋ฐ์์ผํ๋ค๋๊ฒ์๋ช ์ ํด์ค์ผํ๊ธฐ ๋๋ฌธ์๋ณ์๋ช ๋ถํฐ๊ต์ฅํ์ด์ํด์ง๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์๋ํ์ ์ด๋ผ๋๊ฒ์ด์๊ธฐ ๋๋ฌธ์๋ฉ์๋๋ช ๋๋๋ณ์๋ช ์ํ์ ์๋ช ์ํ ์๋ฐ์์์ต ๋๋ค.
6.
๋ง์ฝNumber ํ์ ์201712๋ฅผ์ธ์๋ก๋๊ฒจ์ค๋ค๋ฉดNumber์๋substring ์ด๋ผ๋ํจ์๊ฐ ์๊ธฐ
๋๋ฌธ์์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ํจ์๋ฅผ๋ณด๋ค์์ ์ ์ผ๋ก์ ์ฑํ๊ธฐ ์ํด์๋๋ค์๊ณผ ๊ฐ์if ๋ฌธ์ดํ์ํ๊ฒ ๋ฉ๋๋ค. function getMonthFromString(dateOfStringFormat) { if (typeof dateOfStringFormat !== "string") { throw Error("Invalid format of parameter"); } const monthOfNumberFormat = parseInt(dateOfStringFormat.subst return monthOfNumberFormat; }
7.
๊ธฐ๋ณธ์ ์ผ๋กํจ์๊ฐ ์ํํด์ผํ๋๋น์ฆ๋์ค๋ก์ง์ธ๋ถํ์ํ๋ฐฉ์ด์ฝ๋๊ฐ ์ฝ๋ ๋ฅผ๋๋ฝํ๊ณ
์์ต๋๋ค. ์ํจ์๋ฅผTypeScript ํจ์๋ก๋ณ๊ฒฝํด๋ณด๊ฒ ์ต๋๋ค.
8.
const getMonth =
(date: string): number => { return parseInt(date.substring(4, 6), 10); } ์ธ์์๋ฐํ๊ฐ์ํ์ ์์ค์ ํ์ฌ๋ฉ์๋์ด๋ฆ๊ณผ ๋ณ์๋ช ์ดํจ์ฌ์งง์์ก์ต๋๋ค. ๊ทธ๋ผ์๋๋ถ๊ตฌํ๊ณ ํด๋นํจ์๊ฐ ํ๋์ญํ ์ES6๋ก์์ฑํ์๋๋ณด๋ค๋ช ํํด์ก ์ผ๋ฉฐ, ๋ถํ์ํ๋ฐฉ์ด์ฝ๋๋ง์ ์ฌ๋ผ์ก์ต๋๋ค. wtfjs์์ํ์ธํ์ค์์์ง๋ง์๋ฐ์คํฌ๋ฆฝํธ์์๋ํ์ ์ด๋ฉ๋๋ก(์ฌ์ค์๋งค ์ฐ๋ค์ํ๊ท์น์๊ธฐ๋ฐ์ผ๋ก) ์บ์คํ ๋๋๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ์, ์ด๋ฅผ๋ฐฉ์งํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋๋ถํ์ํ๋ฐฉ์ด์ฝ๋๋ฅผ์์ฑํด์์ต๋๋ค. ํ์ ์์ง์ ํจ์ผ๋ก์จ์ด๋ฌํ์ ์ ์์ต์ํํ ์์์ต๋๋ค.
9.
Default Parameter, Rest
Parameter ํด๋น์คํ์ES6 ํ์ค์คํ์์๋์ง์ํ๊ณ ์๋์คํ์ด๋ฏ๋ก๊ตฌ์ฒด์ ์์ค๋ช ์ ๋์ด๊ฐ๊ฒ ์ต๋๋ค. ์์ธํ๋ด์ฉ์์ฒจ๋ถํ๋ํฌ์คํ ์ํ์ธํด์ฃผ์ธ์. ES6. Rest Parameter ES6. Default Parameter
10.
TypeScript์์๋ํด๋น์คํ์์ง์ํฉ๋๋ค. Default parameter TypeScript
code ์์ฝ๋์์๋์ธ์๊ฐ ๋๊ฒจ์ง์ง์์์๊ฒฝ์ฐ(ย undefinedย ), ์ง์ ํด์ค๊ฐ์ผ๋ก ์ธ์๋ฅผ์ค์ ํฉ๋๋ค. ๋ช ์์ ์ผ๋กย nullย ์์ธ์๋ก๋๊ฒจ์ฃผ๋ฉดdefault๋ก์ค์ ๋ parameter๋ฅผ๋ฌด์ํ๊ณ ย nullย ์์ธ์๋ก๋๊น๋๋ค. ์ง์ ํ์ธ์๋ฅผ๋ชจ๋๋๊ธฐ ์ง์์ผ๋ฉด์๋ฌ๋ฅผ๋ฑ๋TypeScript๋default parameter๊ฐ ์ง์ ๋์ด์์ผ๋ฉด ์๋ฌ๋ฅผ๋ฐ์์ํค์ง์์ต๋๋ค. const getRandomNumber = (min: number = 0, max: number = 10 return Math.floor(Math.random() * (max - min)) + min; } console.log(getRandomNumber(1)); // OK!
11.
Rest parameter TypeScript
code ย rest parameterย ์ํ์ ์๋ฐฐ์ด(array)์ด๋ฏ๋ก์ธ์์ํด๋นํ๋ํ์ ์์ค ์ ํด์ค๋๋ค. export const setSkills = (...skills: string[]): void => { // ... }
12.
Optional Parameter TypeScript์์๋default parameter
์์๊ฒฝ์ฐ, signature์์์ ์ํ๋ ๋ก์ธ์๋ฅผ๋๊ฒจ์ฃผ์ง์์ผ๋ฉด์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ์ง๋งํ๋ผ๋ฏธํฐ๋ฅผ๋๊ฒจ์ฃผ์ง ์์๋๋๋๋ก์ค์ ํ ์์์ต๋๋ค. ย ?ย ๋ฅผํตํด์ํจ์์optionalํparameter๋ฅผ์ง์ ํ ์์์ต๋๋ค. const setSpec = (major: string, option?: string): void => { console.log(major); console.log(option); } setSpec("Computer Science"); // console> Computer Science // console> undefined
13.
Union Type ํ๋ผ๋ฏธํฐ์ํ์ ์์ง์ ํ ๋, ๋๊ฐ์ง์ด์์ํ์ ์ด์ง์ ํ ํ์๊ฐ
์์์ ์๋๋ฐ์, ๊ทธ๋ด๋Union type์ํตํด์ํ๋ผ๋ฏธํฐ์ํ์ ์์ง์ ํด์ค์์์ต ๋๋ค. sayName(position: string | boolean | number): void { if (typeof position === "string") { console.log(`string type position`); } else if (typeof position === "boolean") { console.log(`boolean type position`) } else { console.log(`else`); } } ์์ฝ๋์์๋ย positionย ์ด๋ผ๋ํ๋ผ๋ฏธํฐ๊ฐ ย stringย , ย booleanย , ย numberย ์ธ๊ฐ์ง์ํ์ ์ผ์์๋ค๊ณ signature๋ฅผ์ง์ ํ์ต๋๋ค. (์์ ๊ฐ ์ก ๊ตฌ์ค๋ฝ๋ค์)
14.
Overloading ๋ฐ๋ก์ด์ Class ํฌ์คํ ์์์๋ฐ์๊ฐ์์ค๋ฒ๋ก๋ฉ์์ง์ํ์ง์๋๋ค๊ณ ํ๋ ๋ฐ์,
ย optional parameterย ์ย union typeย ๊ทธ๋ฆฌ๊ณ ย anyย ๋ผ๋ํ์ ์ ์ฌ์ฉํ๋ฉด์๋ฐ์์๊ตฌํํ๋๊ฒ๊ณผ๋์กฐ๊ธ ๋ค๋ฅด์ง๋ง์ค๋ฒ๋ก๋ฉ์๊ตฌํํ ์์์ต ๋๋ค.
15.
์์๊ฐ์ด๋์ผํ๋ฉ์๋๋ช ์๋ํด์ฌ๋ฌSignature๋ฅผ์ ์ํ ์์์ต๋๋ค. ์ ์ฝ๋์์๋ย sayNameย ์ด๋ผ๋๋ฉ์๋์Signature๊ฐ ์ธ๊ฐ์ด๋ฉฐ๋ง์ง๋ง๋ฉ์ ๋์์๋ง์ด๋ฅผ๊ตฌํํ๊ณ
์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฉ์๋body์์๋parameter์ ํ์ ์ผ๋ก๋ถ๊ธฐ๋ฅผํ์ฌ๋ก์ง์์ํํ๊ณ ์์ต๋๋ค. class Person { //.. sayName(position: string, option?: string): void; sayName(position: boolean, option: string): void; sayName(position: string | boolean, option: any): any { if (typeof position === "string") { console.log(`string type position`); } else if (typeof position === "boolean") { console.log(`boolean type position`) } else { console.log(`else`); } } //.. }
16.
const person: Person
= new Person(); person.sayName("FrontEnd"); person.sayName("FrontEnd", "optional); person.sayName(false, "option required"); // person.sayName(true); Error! (1) // person.sayName(1); Error! (2) ย sayNameย ์ํธ์ถํ๊ฒ ๋๋ฉด, ๋ฉ์๋๋ฅผํธ์ถํ๋์์ ์์๊ฐ ์ํฉ์๋ง๋ signature๊ฐ ์ ์ฉ๋ฉ๋๋ค. ย Error (1)ย ์๋ณด๋ฉดย booleanย ํ์ ์ด์ธ์๋ก๋ ์ด๊ฐ์๊ฒฝ์ฐ์signature์๋ฐ๋ผย optionย ์ดย requiredย ์ธ์์ด๋ฏ๋ก์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ย Error (2)ย ๋์ด๋signature์๋์ผ์นํ์ง์์ผ๋์๋ฌ๊ฐ ๋ฐ ์ํฉ๋๋ค. ์ด๋ ๊ฒ TypeScript์์๋์ฌ๋ฌsignature๋ฅผ์ ์ํ๋ค๋ฉ์๋๋ด ์์์ด๋ฅผ๋ถ๊ธฐํ์ฌ์ค๋ฒ๋ก๋ฉ์๊ตฌํํ ์์์ต๋๋ค.
17.
๋ง๋ฌด๋ฆฌ TypeScript ์ข๋์์ ์ฑ์๋, ๊ฐ๊ฒฐํ,
๊ฐ๋ ์ฑ์ด์ข์ํจ์๋ฅผ์์ฑํ ์์๊ฒ ๋์์ต๋๋ค. ์ด๋ป๊ฒ ๋ณด๋ฉดํ์ดํ์ด๊ธธ์ด์ง๋๊ฒฐ๊ณผ์ฒ๋ผ๋ณด์ผ์์๊ฒ ์ง๋งํ์ ์๋ช ์๊ฐ ํ์ํ๋ถ๋ถ์์์ด์๋์คํ๋ ค์ฝ๋๊ฐ ๋์งง์์ง๊ฒ ๋์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
Download