ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코틀린에서의 입력 다루기
    Android_Kotlin/Kotlin_공부 2023. 3. 17. 02:25
    728x90

    입력을 받기 위해 Scanner 클래스를 주로 사용하는 자바와 달리 코틀린에서는 입력을 받기 위해 표준 라이브러리에서 제공하는 readLine() 함수를 사용합니다. 이 함수는 사용자로부터 한 줄의 문자열을 입력받아 반환합니다. 사용자가 엔터를 입력하면 입력된 문자열을 반환합니다.

     

    다음은 readLine()을 사용한 간단한 예시입니다.

    fun main() {
        print("이름: ")
        val name = readLine()
        println("안녕 $name !")
    }

    위 코드를 실행결과 "이름: "이라는 메시지가 출력됩니다. 여기에 자신의 이름을 입력하고 엔터를 누르면 메시지가 출력됩니다. 만약 "Moon"이라는 이름을 입력했다면 다음과 같은 결과가 출력됩니다.

     

     

    코틀린에서 readLine() 함수는 사용자로부터 문자열을 입력받아 반환하는 함수입니다. 이 함수의 반환 타입은 nullable 타입 String?으로 지정되어 있습니다. 여기서 nullable 타입이란, 해당 변수가 null 값을 가질 수 있다는 것을 명시하고있는 타입입니다. 따라서 readLine() 함수의 반환 타입이 nullable 타입인 String?이라는 것은, 사용자가 입력을 하지 않거나 엔터만 입력하면 null이 반환될 수 있다는 것을 의미합니다. 따라서, 아래의 코드와 같이 name 변수의 타입을 String?으로 명시해주어야 합니다. 이를 통해 반환된 값이 null일 수 있음을 코드를 사용하는 사용자에게 있음을 알리고, 이것에 대한 처리를 적절하게 해줄 수 있습니다.

    fun main() {
        print("이름: ")
        val name: String? = readLine()
        if (name.isNullOrEmpty()) {
            println("잘못된 입력입니다")
        } else {
            println("안녕 $name !")
        }
    }

    위의 코드에서 name 변수는 nullable 타입인 String?으로 선언되어 있습니다. readLine() 함수가 반환한 값이 null인 경우, name 변수는 null을 가지게 됩니다. 따라서 name.isNullOrEmpty() 함수를 사용하여 name 변수가 null이거나 빈 문자열인지 확인하고, 이에 따라 처리할 수 있습니다.

     

    코틀린에서는 자바에서 사용했던 java.util.Scanner 클래스를 사용하여 입력을 받을 수도 있습니다.

    아래는 자바의 Scanner클래스를 사용한 예시입니다.

    import java.util.Scanner
    
    fun main() {
        val scanner = Scanner(System.`in`)
        print("이름: ")
        val name = scanner.nextLine()
        println("안녕 $name !")
        scanner.close()
    }

     하지만 위 코드는 readLine() 함수를 사용하는 것보다 더 복잡합니다. 따라서 입력을 받아야 하는 경우, readLine() 함수를 사용하는 것이 좀 더 간단하고 안전한 방법입니다.

     

     

    이번 글에서는 코틀린에서 입력을 받는 방법에 대해 알아보았습니다. 코틀린에서는 readLine() 함수를 통해 간단하게 입력을 받을 수 있습니다. 하지만 이 함수의 반환 타입이 nullable 타입이기 때문에, 사용 시 반드시 null 값 처리에 주의해야한다는 특징이 있습니다.

     

    다음에는 프로그램의 흐름을 제어하는 데 중요한 역할을 하는 제어문에 대해 알아보겠습니다

    'Android_Kotlin > Kotlin_공부' 카테고리의 다른 글

    예외처리 예시(Kotlin)  (1) 2023.08.01
    제어문 다루기 1  (0) 2023.03.19
    Hello world!(출력)  (0) 2023.03.16
    1.코틀린의 등장  (0) 2023.03.15
Designed by Tistory.