언어/Kotlin

Kotlin - Kotlin 프로그래밍 언어 알아보기

asu2880 2021. 4. 16. 16:31

가. 변수 선언
  1. val 과 var
    - val : 값이 변경되지 않는 변수
    - var : 값이 변경될수 있는 변수
var count: Int = 10
    count = 15
      ☞ 데이터 타입에 따라 Byte, Short, Long, Float, Double을 사용할 수도 있음

  2. 유형 추론
    val languageName = "Kotlin"
    - 초기 값을 할당할 때 할당된 값의 유형을 기반으로 유형을 추론 가능

  3. Null 처리
    1. null
      // Fails to compile
      val languageName: String = null
        ☞ Kotlin 변수는 기본적으로 null 값을 보유할 수 없음(사용할려면 아래와 같이 사용해야 함)
      val languageName: String? = null
        ☞ null 값을 변수에 할당하려면 ?를 기본 유형의 끝에 추가하여 null을 허용하는 변수 유형을 선언
    2. lateinit 초기화
lateinit var a:String //OK
      - 나중에 초기화 할 때 사용(특정 타이밍에 객체를 초기화할 때 사용)
      - var 변수에서만 사용 가능
      - null 값으로 초기화 할 수 없음
      - 초기화 전에는 변수 사용 못함
      - int, long, bouble, float에은 사용 못함
    3. lazy 초기화
val str:String by lazy{
        println("초기화")
        "hello"
}
      - val 변수에서만 사용 가능

나. 조건문
  1. if
val answerString: String = if (count == 42) {
    "I have the answer."
} else if (count > 35) {
    "The answer is close."
} else {
    "The answer eludes me."
}
println(answerString)

  2. when
val answerString = when {
    count == 42 -> "I have the answer."
    count > 35 -> "The answer is close."
    else -> "The answer eludes me."
}
println(answerString)

다. 함수
      ☞ 함수를 선언하려면 fun 키워드 뒤에 함수 이름이 오도록 사용
      ☞ 함수에 사용되는 입력 유형(있는 경우)을 정의하고 함수에서 반환하는 출력 유형을 선언

  1.   입력값 없는 함수
    - 사용법
fun generateAnswerString(): String {
    val answerString = if (count == 42) {
        "I have the answer."
    } else {
        "The answer eludes me"
    }

    return answerString
}
    - 호출방법
val answerString = generateAnswerString()

  2. 인수값 있는 함수
    - 사용법
fun generateAnswerString(countThreshold: Int): String {
    val answerString = if (count > countThreshold) {
        "I have the answer."
    } else {
        "The answer eludes me."
    }

    return answerString
}
    - 호출방법
val answerString = generateAnswerString(42)

  3. 익명 함수
    - 사용법
val stringLengthFunc: (String) -> Int = { input ->
input.length}

    - 호출방법
val stringLength: Int = stringLengthFunc("Android")
println(stringLength)
      ☞ 함수명이 없음, 변수에 함수기능을 추가
      ☞ 입력을 String, 출력을 Int
      ☞ (String) -> Int

라. 클래스
class Car
  1. 속성
class Car {
    val wheels = listOf<Wheel>()
}
    - 클래스는 속성을 사용하여 상태를 나타냄
    - getter, setter 및 backing 필드를 포함할 수 있는 클래스 수준 변수
    - wheels는 public val입니다. 즉, Car 클래스 외부에서 wheels에 액세스할 수 있지만 재할당할 수는 없음
class Car(val wheels: List<Wheel>)
    - List<Wheel>을 생성자 인수로 취하고 인수를 사용하여 wheels 속성을 초기화

마. 접근 제한자
  1. 변수나 함수를 공개하는 데 사용하는 키워드
    - public (생략가능) : 전체 공개. 기본적으로 public
    - private : 현재 파일 내부에서만 사용할 수 있음
    - internal : 같은 모듈 내에서만 사용할 수 있음
    - protected :상속받은 클래스에서 사용할 수 있음

 

출처:developer.android.com/kotlin/learn

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'언어 > Kotlin' 카테고리의 다른 글

코틀린 Kotlin - 변수, 조건문, 함수, 클래스, 접근제한자  (0) 2021.10.11
코틀린  (0) 2020.06.09