kotlin
-
[Kotlin] String ์ฌ์ฉ๋ฒAndroid/Kotlin 2021. 8. 12. 03:02
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. ๋ฌธ์์ด Kotlin์ ๋ฌธ์์ด์ Java์ ๋์ผํ๊ฒ String ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ์ฌ์ฉํฉ๋๋ค. Kotlin์ Java์ ๋๋ถ๋ถ ๋ฉ์๋๊ฐ ๋น์ทํ๊ฒ ์ ๊ณต๋๋ฉฐ ๋ช๊ฐ์ง ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. Index Java์์ String์ ๊ฐ charater๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง Kotlin์ ๋ฌธ์์ด์ ๋ฐฐ์ด์ ํํ๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ 0๋ถํฐ ์์ํ๋ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. String์ ๋ถ๋ณํ์ ๋ฐฐ์ด๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์๋ฅผ ์ ๊ทผํ๋ ์ฉ๋๋ก๋ง ๊ฐ๋ฅํ๋ฉด ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค. fun main(){ val str1 = "hello world" println(str1[0]) // h ..
-
[Kotlin] Array ์ฌ์ฉ๋ฒAndroid/Kotlin 2021. 8. 12. 02:03
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. Array C++, Java์์๋ ๋์ผํ๊ฒ ์กด์ฌํ๋ ๋ฐฐ์ด(Array)๋ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ ๊ณต๊ฐ์ ํ๋ณดํ์ฌ ๊ฐ์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์๋ฃ ๊ตฌ์กฐ ์ค ํ๋์ ๋๋ค. ๋ฐฐ์ด์ 0๋ถํฐ ์์๋๋ ์ธ๋ฑ์ค ๋ฒํธ๋ก ๊ด๋ฆฌํ๊ณ Kotlin์์ Array๋ Generic ํ์ ์ผ๋ก ์ ํด์ ธ ์์ด ๋ค์ํ ํ์ ์ ๊ฐ์ ๋ด์ ์ ์์ต๋๋ค. Kotlin์์๋ ๋ฐฐ์ด์ ์์ฑํ๋ ๋ณ๋์ ํจ์๊ฐ ์ฃผ์ด์ง๋๋ฐ arrayOf() ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. arrayOf์๋ ํ๋์ ํ์ ๋ง์ด ์๋ ์ฌ๋ฌ ํ์ ์ ๋ด์ ์ ์๊ณ , ํ ํ์ ์ผ๋ก ์ ํํ๊ณ ์ถ์ผ๋ฉด ์๋ฃํ + arrayOf() ํํ์ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. arrayOf๋ ..
-
[Kotlin] Functional ProgrammingAndroid/Kotlin 2021. 8. 11. 22:41
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Java๋ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก ํด๋์ค๋ฅผ ์ค๊ณํ๊ณ ๋ฉ์ค๋๋ฅผ ์ ์ํ ํ ์ธ์คํด์ค๋ฅผ ํตํด์ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. Kotlin์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๋ ์ง์ํ๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๋ ์ง์ํ์ฌ ํด๋์ค๊น์ง ์์ฑํ ํ์์์ด ํจ์๋ง ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ๊ฒ์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Java์์ ํจ์ ์ ์ ์ ๋ด๋ถ ํ๋ผ๋ฏธํฐ๋ก ์ธํฐํ์ด์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ์ ์ธํฐํ์ด์ค ๊ตฌํ์ฒด๋ฅผ ์ ์ํ ํ ๋์ ํ์ฌ ํธ์ถํด์ผ ํฉ๋๋ค. ํ์ง๋ง Kotlin ๊ฐ์ ๊ฒฝ์ฐ ํจ์ํ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ํ๋ผ๋ฏธํฐ์ ํจ์๊ฐ ๋ค์ด๊ฐ ์ ์๊ฒ ๋์ด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ธ์๋ Kotlin์์๋ ํจ์ ์ฌ์ฉํ๊ธฐ์ ๋ณด๋ค ํธ๋ฆฌํ ๊ฐ๋ ๋ค์ด ์กด์ฌํฉ๋..
-
[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..