๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Kotlin

Kotlin ๊ธฐ๋ณธ ๋ฌธ๋ฒ• - Intro ( ๊นŠ์ด ๋‹ค๋ฃจ์ง€ ์•Š์Œ!)

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 6. 28.
๋ฐ˜์‘ํ˜•

์—”ํŠธ๋ฆฌ ํ•จ์ˆ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์Œ 

fun main() 

: ์ขŒ์ธก ํ”Œ๋ ˆ์ด ํด๋ฆญ ํ•˜๋ฉด ์‹คํ–‰ ๊ฐ€๋Šฅ

 

ํ•จ์ˆ˜ ์ž‘์„ฑ๋ฒ•

fun ํ•จ์ˆ˜์ด๋ฆ„ (ํŒŒ๋ผ๋ฏธํ„ฐ) : ๋ฆฌํ„ดํ˜•{}

โŒ˜ ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๋ฆฌํ„ดํ˜• Unit (์•„๋ฌด ๊ฒƒ๋„ ์—†๋Š” ๋ฆฌํ„ด ์•ˆ์จ๋„ ๋จ)

 

val vs var

์ž๋™์ถ”๋ก ์ด์—ฌ์„œ ๋ณ€์ˆ˜ ํƒ€์ž… ์ƒ๋žต ๊ฐ€๋Šฅ. (๋ฐ”๋กœ ๋ฐ”๋กœ ํ• ๋‹น์•ˆํ• ๋•Œ)

val = value // ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’ val cannot be reassigned

var = variable // ๋ณ€ํ•˜๋Š” ๊ฐ’

    val a : Int = 10
    var b : Int = 9

    b = 100

    val c = 100
    var d = 100
    var name = "Carrie"

 

String ํ…œํ”Œ๋ฆฟ 

- ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ $ ํ‘œ์‹œ (๋„์–ด์“ฐ๊ธฐ ์ฃผ์˜)

- ๋„์–ด์“ฐ๊ธฐ ์•ˆํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ${๋ณ€์ˆ˜} // ๋Œ€๊ด„ํ˜ธ

* ๊ทธ๋ƒฅ ๋‹ฌ๋Ÿฌ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” \$

- String ํ…œํ”Œ๋ฆฟ์ด๋ฏ€๋กœ {}์•ˆ์— ์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ชจ๋‘ String 

 

์กฐ๊ฑด ์‹

if else

when else

fun maxBy2(a: Int, b : Int) = if(a>b) a else b


fun checkNum(score : Int)
{
    when(score)
    {
        0 -> println("this is 0")
        1 -> println("this is 1")
        2,3 -> println("this is 2 or 3")
    }
    
    var b = when(score)
    {
        1->1
        2->2
        else ->3
    }
    
     when(score)
    {
        in 90..100 -> println("You are genius")
        in 10..80 ->println("not bad")
        else -> println("okay")
    }

}

 

 

Expression vs Statement

๋ฝ€์ง๋ฝ€์ง ํ•ด์„œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ™”๋ฉด ์ต์Šคํ”„๋ ˆ์…˜

-> ์ฝ”ํ‹€๋ฆฐ์˜ ํ•จ์ˆ˜์—์„œ ๋ชจ๋“  ํ•จ์ˆ˜๋Š” ์ต์Šคํ”„๋ ˆ์…˜ (Unit ์ด๋‹ˆ๊นŒ)

Statement : 

 

 

Array and List

// Array_ ์ •ํ•ด์ง„ ํฌ๊ธฐ๊ฐ€ ์žˆ์Œ

// List  1. List 2. MutableList(==ArrayList)

arrayOf ๋กœ ์–ด๋ ˆ์ด ์ดˆ๊ธฐํ™”

ListOf๋กœ ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™”

 

array ๋ฎคํ„ฐ๋ธ” , ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•ด์„œ ๊ฐ’ ๋ฐ”๊พธ๊ธฐ ๊ฐ€๋Šฅ

๋ฆฌ์ŠคํŠธ๋Š” ์–ด๋ ˆ์ด์™€ ๋‹ค๋ฅด๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋ผ ์ด๋ฎคํ„ฐ๋ธ” (get์€ ์žˆ์ง€๋งŒ ๋”ด ๊ฑด ์—†์Œ)

fun array()
{
    val array = arrayOf(1,2,3)
    val list = listOf(1,2,3)
    val array2 = arrayOf(1,"d",3.4f)
    val list2 = listOf(1,"d",11L)

    array[0] = 3
    var result = list.get(0)

    val arrayList = arrayListOf<Int>()
    arrayList.add(10)
    arrayList.add(20)
}

 

๋ฐ˜๋ณต๋ฌธ

(println : ์ถœ๋ ฅํ›„ ๊ฐœํ–‰์„ ์ถ”๊ฐ€ ํ•˜๋Š” ํ”„๋ฆฐํŠธ ๋ฌธ)

 

 

Nonull & Nullable

 

 

?   ๋””ํดํŠธ ๊ฐ’์„ ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ

 

!!

 

let ํ•จ์ˆ˜

 

 

 

ํด๋ž˜์Šค- ์ƒ์†/ ์ •์˜ ๋“ฑ

์ฝ”ํ‹€๋ฆฐ ํŠน - ํŒŒ์ผ์ด๋ฆ„์ด๋ž‘ ํด๋ž˜์Šค ์ด๋ฆ„์ด๋ž‘ ์ผ์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋จ.

์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ํ•œ ํŒŒ์ผ์— ๋„ฃ์–ด๋„ ๋จ.

์ฝ”ํ‹€๋ฆฐ ํด๋ž˜์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ final ํด๋ž˜์Šค์ž„.

์•„๋ฌด๋ฆฌ ๊ฐ™์€ ํŒŒ์ผ์ด์–ด๋„ ์ ‘๊ทผ์„ ๋ชปํ•จ. ๊ทธ๋ž˜์„œ open ์ด๋ผ๋Š” ์˜ˆ์•ฝ์–ด๊ฐ€ ํ•„์š”ํ•จ.

package com.example.kotlinpractice

// ์–ด๋–ป๊ฒŒ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ƒ?

//class Human
//{
//
//    // properties
//    val name = "carrie"
//
//    // method
//    fun eatingCake()
//    {
//        println("This is so Yummmm-")
//    }
//
//}

// constructor ๋งŒ๋“œ๋Š” ๋ฒ•
//class Human constructor(name : String)
//{
//
//    // properties
//    val name = "carrie"
//
//    // method
//    fun eatingCake()
//    {
//        println("This is so Yummmm-")
//    }
//
//}


// ์ƒ์„ฑ์ž์— property
//class Human constructor(val name : String)
//{
//
//    // method
//    fun eatingCake()
//    {
//        println("This is so Yummmm-")
//    }
//
//}


// default ๊ฐ’ ๋งŒ๋“œ๋Š” ๋ฒ•
open class Human constructor(val name : String = "Anonymous")
{

    // ๋ถ€ ์ƒ์„ฑ์ž - ํ•ญ์ƒ ์ฃผ ์ƒ์„ฑ์ž ์œ„์ž„์„ ๋ฐ›์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— this ๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉ ํ•จ,.
    constructor(name : String, age: Int) : this(name)
    {
        println("my name is ${name}, ${age}years old")
    }


    // ์ฃผ ์ƒ์„ฑ์ž - ๋ถ€ ์ƒ์„ฑ์ž๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ.
    init{
        println("New human has been born")
    }



    // method
    fun eatingCake()
    {
        println("This is so Yummmm-")
    }

}

class Korean : Human()
{

}


fun main()
{
    val human = Human("hojin")

    val stranger = Human()

    human.eatingCake()

    val mom = Human("K", 52)

    println("this human's name is ${human.name} ")
}


 

๋žŒ๋‹ค - value ์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€