๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
-
[Kotlin] Generic, Inner ํด๋์คAndroid/Kotlin 2021. 7. 7. 01:09
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. Generic ํด๋์ค ํด๋์ค๋ฅผ ์ค๊ณํ ๋ ๊ฐ์ ์ญํ ์ ํ์ง๋ง ๋ด๋ถ์ ๋ณ์์ ํ์ ๋ง ๋ค๋ฅด๊ฒ ํ์ํ ๋๊ฐ ์์ต๋๋ค. Generic ํด๋์ค๋ฅผ ํ์ฉํ์ฌ ํด๋์ค ์์ฑ ์๊ฐ ์๋ ๊ฐ์ฒด๋ฅผ ์์ฑ์์ ํ์ ์ ์ง์ ํ ์ ์์ต๋๋ค. Generic์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ํ์ ์ ์ปดํ์ผ ํ์์ ์ ํ๊ธฐ ๋๋ฌธ์ ํด๋์ค๋ ๋ฉ์๋ ๋ด๋ถ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ์ ํ์ ์์ ์ฑ์ ๋์ผ ์ ์์ต๋๋ค. ๋ํ์ ์ธ ์๋ก Collection ๋ค์ ๋ชจ๋ Generice ํด๋์ค๋ก ์ ์๋์ด ์์ต๋๋ค. ๋ง์ผ Any ํด๋์ค๋ก ์บ์คํ ํด์ ์ฌ์ฉํ๋ค๋ฉด ๋ฒ๊ฑฐ๋กญ๊ณ ์๋ชป๋ ์บ์คํ ์ผ๋ก ๋ฐํ์์ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ Generic์ ์ฌ์ฉํ์ฌ์ผ ํฉ๋๋ค. class Array..
-
[Kotlin] Companion Object ๋?Android/Kotlin 2021. 7. 5. 23:13
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ์์ต๋๋ค. Java Static ํด๋์ค ๋ด๋ถ์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์ธ์คํด์ค.๋ณ์์ ํํ๋ก ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๊ฐ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ๊ฐ๊ฐ ๋ฉค๋ฒ ๋ณ์๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง, ๋ชจ๋ ์ธ์คํด์ค์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ static ๋ณ์, ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ํด๋์ค์ ๋ชจ๋ ์ธ์คํด์ค์์๋ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. class Student { public String id; public String name; public static S..
-
[Kotlin] ์ ๊ทผ์ ํ์, property, get(), set()Android/Kotlin 2021. 7. 5. 01:18
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ์์ต๋๋ค. ์ ๊ทผ์ ํ์ kotlin์ private, public, protected, internal 4๊ฐ์ง์ ์ ๊ทผ์ ํ์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. kotlin์ Java์ ๋ค๋ฅธ์ ์ ํจํค์ง์๋ ๊ด๊ณ๊ฐ ์๊ณ , ๋ชจ๋์ ๋ํด์๋ง ์ ๊ทผ ์ ํ์ ๋๊ณ ์์ต๋๋ค. private : ์ธ๋ถ ์ด๋ค ๊ณณ์์๋ ์ ๊ทผํ ์ ์์ต๋๋ค. public : ์ธ๋ถ ์ด๋์๋ ์ง ์ ๊ทผํ ์ ์์ต๋๋ค. protected : ํด๋์ค ์ ์ธ์์๋ ์ฌ์ฉ ๋ถ๊ฐ, ์์๋ ํด๋์ค์์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค. internal : ๊ฐ์ ๋ชจ๋ ๋ด์์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค. property ๊ฐ์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง ์ค ํ๋์ธ ์บก์ํ๋ ์ธ๋ถ๋ก๋ถํฐ ํด๋์ค ๋ด๋ถ ๋ณ์๋ฅผ ์ง์ ์ ๊ทผ์ ์ฐจ๋จํ..
-
[Kotlin] ํด๋์ค ์์ฑ๊ณผ ์์Android/Kotlin 2021. 7. 4. 21:05
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑํ ๋ด์ฉ์ ๋๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (Object Oriented Programming) Kotlin์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ์ฌ๋ฌ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ํ๋์ ๊ฐ์ฒด๋ก ํํํ์ฌ ๋ฐ์ดํฐ์ ๊ธฐ๋ฅ๋ค์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ๋๋ค. Java์ ๊ฐ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํด์ ํด๋์ค์ ์์ฑ๊ณผ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค. ํด๋์ค ์์ฑ class Student{ var id: Int = 0 var name : String = "ows" } fun main() { var obj = Student() print("${obj.id} ${obj..
-
[Git] Remote Repository ๋ช ๋ น์ดGit 2021. 5. 30. 03:33
์ด ๊ธ์ Git์์ ์๊ฒฉ ์ ์ฅ์ ๊ด๋ จ ๋ช ๋ น์ด ์ ๋ฆฌ ๊ธ์ ๋๋ค. ์๊ฒฉ ์ ์ฅ์ Git์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ์์คํ ์ด๋ฉด์ ํ์ ๋๊ตฌ๋ก์ ํ์ ์ ํ๊ธฐ ์ํด์๋ ์๊ฒฉ์ ์ฅ์(Remote Repository)์ ์ ์ฅ์ ํด์ผํฉ๋๋ค. Github, GitLab, Bitbucket๊ณผ ๊ฐ์ ์น ์์ ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ๋ ํ์ผ๋ค์ ์ ๋ก๋ํ์ฌ ๋ก์ปฌ์ ์ฅ์์ ์๊ฒฉ์ ์ฅ์๋ฅผ ๋์ผํ ์ํ๋ก ๋ง๋ค ์ ์์ต๋๋ค. 1. git clone Github์์ Code ๋ณด๋ฉด SSH์ Http ๋ฐฉ์์ผ๋ก ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์์ต๋๋ค. 2. git remote add ๋ค๋ฅธ ์ฌ๋๋ค์ ์์ค์ฝ๋๋ ์ด๋ฏธ ์ ์ฅ๋ ์์ค์ฝ๋๋ฅผ ๋ฐ์ ๋๋ git clone ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ง๋ง ๋ค์ ๋ช ๋ น์ด๋ ์๋กญ๊ฒ ์๊ฒฉ ์ ์ฅ์..
-
[Java] ๋์์ธ ํจํด(Composite ํจํด)์นดํ ๊ณ ๋ฆฌ ์์ 2021. 5. 18. 00:45
์ด ๊ธ์ "์ํํ ์ฝ๋ฉ์ฌ์ ๊ฐ์ฒด์งํฅ ๋์์ธํจํด Youtube ์์"์ ๋ณด๊ณ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. Composite ํจํด์ด๋? Composite ํจํด์ ๋ณต์กํ ์ค๊ณ๋ฅผ ํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ ํจํด์ผ๋ก ์ปดํจํฐ ํ์ผ ์์คํ ์ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ปดํจํฐ ํ์ผ ์์คํ ์์๋ ํด๋ ๋ด๋ถ์ ํ์ผ๋ ๋ค์ด๊ฐ ์ ์์ง๋ง, ํด๋ ์์ฒด๋ ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ๋ํ, ํ์ผ๊ณผ ํด๋๋ ๋ค๋ฅธ ์กด์ฌ์ง๋ง ๊ฐ๊ฐ ํฌ๊ธฐ๊ฐ ์กด์ฌํ๊ณ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ, ์ญ์ ํ๊ธฐ ๋ฑ๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ ๊ณตํต์ ์ผ๋ก ์ฃผ์ด์ง๋๋ค. ์ด์ฒ๋ผ Composite ํจํด์ ํฌํจ๋๋ ๊ฐ์ฒด์ ํฌํจํ๋ ๊ฐ์ฒด๊ฐ ๋์ผํ๊ฒ ๋ค๋ค์ง ๋ ์ฌ์ฉํ๋ ํจํด์ ๋๋ค. Composite ์ฌ์ฉ public interface FileSystem { int getSize(); void printInfo(); } Fil..
-
[Java] ๋์์ธ ํจํด(Mediator ํจํด)Android/Java 2021. 5. 18. 00:14
Mediator ํจํด์ด๋? Mediator ๋ง ๊ทธ๋๋ก ์ค์ฌ์๋ก์, ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค์์ ์ฐ๊ฒฐ์ฑ์ ์ง์ ํ๋ ๊ฒ์ด ์๋ ์ค์ฌ์๋ฅผ ํตํด ์ฐ๊ฒฐํ๋ ํจํด์ ๋๋ค. ํ์ฌ์ ์๊ธ์๊ฐ ๋น์๋ฅผ ํตํด ๋ค๋ฅธ ์ง์๋ค์๊ฒ ์๊ธ์์ ์๊ฒฌ์ ๋ชจ๋์๊ฒ ์ ๋ฌํ๋ฏ, ํด๋์ค๊ฐ ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋์๊ฒ ์ผ์ผ์ด ์ ๋ฌํ๋ ๊ฒ์ด ์๋ Mediator๊ฐ ์ํํ๋๋ก ๋ง๋๋ ํจํด์ ๋๋ค. Mediator ํจํด์ ์ค๋ช ํ๊ธฐ ์ ์ Mediator ์ฌ์ฉํ๊ธฐ ์ ์ ์ฝ๋์ ๋ถํธํจ์ ์ ์๊ณ ๋๋ฉด ๋ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค. public interface Subject { void isTimetoSubject(String type); } Subject๋ผ๋ ์ธํฐํ์ด์ค๋ type์ ํด๋นํ๋ ๊ณผ๋ชฉ์ ๋ฃ๋ ์๊ฐ์ด ๋ง๋์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ตฌํ๋๋ isTimetoSubject ๋ฉ์๋..