IMCAT.DEV
로그인 가입
Kotlin 입문 기초

Kotlin 입출력 기초

Kotlin 입출력 기초 — 초급

Kotlin 입출력 기초

1. 도입 (왜 배워야 하는가)

Kotlin은 Android 개발과 서버 사이드 개발에서 널리 사용되는 언어입니다. 입출력(IO)은 프로그램이 데이터를 읽고 쓰는 과정으로, 모든 프로그램에서 필수적인 기능입니다. 예를 들어, 사용자가 입력한 데이터를 처리하여 결과를 출력하는 것은 모든 애플리케이션에서 기본적으로 요구되는 기능입니다.

입출력 기능을 제대로 이해하지 못하면, 사용자의 입력을 받을 수 없고, 결과를 보여줄 수 없는 프로그램을 만들게 되어 개발의 기본을 놓칠 수 있습니다. 이는 실무에서 사용자 경험을 저해하고, 프로젝트의 성공 가능성을 낮추는 중요한 문제입니다.

2. 핵심 개념 설명

입출력 개념 정의

  • 입력(Input): 사용자 또는 외부 시스템이 프로그램에 데이터를 제공하는 과정입니다.
  • 출력(Output): 프로그램이 처리한 정보를 사용자 또는 외부 시스템에 제공하는 과정입니다.
  • 실생활 비유

    입출력은 마치 레스토랑의 웨이터와 같다고 비유할 수 있습니다. 사용자가 주문을 하면 웨이터가 주방에 전달하고, 요리가 완성되면 웨이터가 손님에게 가져다줍니다. 여기서 사용자의 주문은 입력이고, 요리는 출력입니다.

    관련 용어 정리

    용어설명
    표준 입력키보드와 같은 기본적인 입력 장치에서 데이터를 입력받는 것
    표준 출력콘솔이나 화면에 데이터를 출력하는 것
    파일 입출력파일 시스템을 통해 데이터를 읽고 쓰는 과정

    3. 기본 코드 예제

    가장 기본적인 입력과 출력을 보여주는 코드는 다음과 같습니다.

    fun main() {
        // 사용자에게 이름을 입력하라고 요청
        print("이름을 입력하세요: ") // 출력: 이름을 입력하세요:
        
        // 입력을 받아 변수에 저장
        val name = readLine() // 사용자가 입력한 값을 받음
    
        // 입력된 이름을 출력
        println("안녕하세요, $name!") // 출력: 안녕하세요, [사용자가 입력한 이름]!
    }

    실행 결과

    이름을 입력하세요: 홍길동
    안녕하세요, 홍길동!

    코드 한 줄씩 동작 설명

    1. print("이름을 입력하세요: "): 콘솔에 "이름을 입력하세요:"라는 메시지를 출력합니다. 여기서는 print를 사용하여 줄바꿈 없이 출력합니다.
    2. val name = readLine(): 사용자가 키보드로 입력한 값을 읽어서 name 변수에 저장합니다. readLine() 함수는 사용자의 입력을 기다립니다.
    3. println("안녕하세요, $name!"): 입력된 이름을 포함하여 인사 메시지를 출력합니다. $name은 문자열에서 변수 값을 삽입하는 방법입니다.
    4. 4. 실전 활용 예제

      예제 1: 간단한 계산기

      쇼핑몰에서 사용자가 입력한 두 수의 합을 구하는 간단한 계산기를 만들 수 있습니다.

      fun main() {
          print("첫 번째 숫자를 입력하세요: ")
          val num1 = readLine()!!.toInt() // 첫 번째 숫자 입력받기
          print("두 번째 숫자를 입력하세요: ")
          val num2 = readLine()!!.toInt() // 두 번째 숫자 입력받기
          val sum = num1 + num2 // 두 숫자의 합 계산
          println("두 숫자의 합은 $sum 입니다.") // 결과 출력
      }

      예제 2: 사용자 정보 저장

      사용자 정보를 입력받아 파일에 저장하는 프로그램입니다.

      import java.io.File
      
      fun main() {
          print("이름을 입력하세요: ")
          val name = readLine()!!
          print("나이를 입력하세요: ")
          val age = readLine()!!
      
          // 파일에 사용자 정보 저장
          File("user_info.txt").writeText("이름: $name, 나이: $age")
          println("정보가 저장되었습니다.")
      }

      5. 흔한 실수와 주의사항

      실수 1: 입력 값 타입 변환 실수

    5. 잘못된 코드
    6. val number = readLine() // String 타입
      val result = number + 10 // String과 Int의 덧셈
    7. 올바른 코드
    8. val number = readLine()!!.toInt() // String을 Int로 변환
      val result = number + 10 // 정상 작동

      실수 2: null 처리 미비

    9. 잘못된 코드
    10. val name = readLine() // null 처리가 없음
      println("안녕하세요, $name!") // null일 경우 예외 발생
    11. 올바른 코드
    12. val name = readLine() ?: "손님" // null일 경우 "손님"으로 대체
      println("안녕하세요, $name!")

      6. 정리

    13. Kotlin의 입출력은 프로그램의 기본적인 기능으로, 사용자와의 상호작용을 가능하게 합니다.
    14. readLine()과 println()을 사용하여 입력과 출력을 처리할 수 있습니다.
    15. 입력받은 데이터는 적절한 타입으로 변환해야 합니다.
    16. null 처리를 통해 예외를 방지할 수 있습니다.

다음에 학습하면 좋은 주제는 파일 입출력(File I/O)입니다. 파일 읽기 및 쓰기 방법을 배우면, 더 복잡한 데이터 처리가 가능해집니다.