프로그래밍 언어/코틀린

코틀린 11. 입출력

닉네임못짓는사람 2020. 12. 23. 04:03
반응형

오늘은 코틀린에서 사용하는 입출력 함수들에 대해서 알아보도록 하겠습니다.

입출력


입출력은 말 그대로 데이터를 입력하고, 출력하는 것을 말합니다.

우리가 프로그램 실행중에 변수등에 값을 넣는것을 입력, 변수나 데이터를 화면에 띄우는것을 출력이라고 할 수 있겠네요.

 

그렇다면, 이런 입출력을 도와주는 함수는 어떤것들이 있을까요?

일단, 대표적으로 우리가 알고 있는 함수는 print라는 함수가 있습니다.

데이터를 우리가 보는 화면에 직접적으로 출력시켜주는 함수인데, 이외에도 여러가지 함수에 대해 알아봅시다.

입력


자, 먼저 입력함수로는 기본적으로 readLine이라는 함수가 있습니다.

readLine은 말 그대로 한 줄의 텍스트를 입력시키는 함수입니다.

해당 함수는 REPL환경에선 제대로 작동하지 않아서 IDE에서 실습을 진행했습니다.

fun main() {
    var a = readLine()
    println(a)
}

먼저, 위와 같이 readLine을 통해 데이터를 입력받을 변수a를 선언합니다.

그리고 readLine함수를 사용해 한 줄의 텍스트를 입력받아 저장합니다.

 

readLine의 특징은 입력받은 데이터가 무조건 문자열 형식으로 저장된다는 점입니다.

따라서 숫자를 입력받고 싶을 때는 입력받은 문자열을 숫자로 변경해주어야 한다는 단점이 있습니다.

fun main() {
    var a = readLine()
    var b = 10
    println(b + a!!.toInt())
}

따라서 toInt를 사용해 a변수를 Int형으로 바꾸어주어야 숫자로서 사용할 수 있습니다.

만약 a를 숫자로 바꾸지 않고 사용하면 위의 코드는 에러가 발생할 것입니다.

 

readLine말고도 다른 입력 방법은 Scanner를 사용하는 방법입니다.

이 방법은 자바를 사용했던 분들은 다 아는 방법일텐데, 둘 중 편하신 쪽을 선택하시면 됩니다.

먼저, Scanner를 사용하려면 import작업을 거쳐주셔야 합니다.

import java.util.Scanner
fun main() {
    val input = Scanner(System.`in`)
    var a = input.nextInt()
    var b = 10
    println(b + a)
}

import는 위와 같이 import java.util.Scanner를 적어주시면 됩니다.

그리고 Scanner를 사용할 때에는 일단 Scanner(System.`in`)을 사용해 Scanner객체를 생성하는데,

객체가 무엇인지는 후에 다시 설명할테니 일단 넘어가도록 합시다.

 

아무튼 이렇게 객체를 생성한 뒤, 이 객체를 사용해 다음에 입력받을 값의 자료형을 지정합니다.

Int형 값을 입력하려면 nextInt, float은 netFloat, String은 nextString... 이런 식으로 nextXXXX(XXXX:자료형)형태로 적어주시면 됩니다.

 

주의할 점은 자바와 달리 System.in이 아닌 System.`in`이라는 점입니다. `는 물결표시입니다.

출력


그럼 다음으로 출력 함수에 대해서 알아보도록 합시다.

출력함수는 우리가 계속해서 사용해왔던 print함수가 있습니다.

print함수는 print와 println으로 나뉘는데, 기본 동작은 동일하고 println은 출력 후 개행을 해준다는 점만 다릅니다.

fun main() {
    var a = "Hello"
    var b = 10
    var c = 20
    println("${a}, World, ${b+c}")
}

print함수를 사용할 때 중요한 부분은 물론 '문자열 템플릿'이 될 것입니다.

문자열 템플릿이란 출력시 문자열 안에서 변수를 불러와 출력할 수 있는 방법입니다.

 

문자열 템플릿을 사용하는 방법은 간단하게 $(변수명)과 같은 형태로 사용해 주시면 됩니다.

그러면 큰 따옴표로 묶인 문자열 안에서 변수를 불러와 출력할 수 있습니다.

 

이 문자열 템플릿을 사용하면 단순 변수만이 아닌 계산식 또는 함수도 가져와 출력할 수 있습+니다.

위의 코드에서도 World뒤에 문자열 템플릿을 사용해 b와 c를 더한 값을 출력했습니다.

 

또한 문자열 템플릿을 사용할 때 주의해야 할 점은 중괄호를 빼먹었을 때 뒤에있는 문자까지 변수명으로 인식할 수 있다는 점입니다.

예를 들어 "$a는 10입니다"라고 코드를 작성했을 경우 'a는'까지 변수명으로 판단하기 때문에 에러가 발생합니다.

때문에 사용 시에는 반드시 출력할 데이터를 중괄호로 묶어주는 습관을 들이도록 합시다.

 

만약 $자체를 출력하고 싶을 때에는 이전에 특수문자 출력에서 말했듯이

\$처럼 백슬레시와 같이 사용해주시면 $문자 자체를 출력할 수 있게됩니다.

 

이상으로 코틀린의 입출력 함수에 대해서 알아봤습니다.

이번 글은 이 정도로 마치도록 하겠습니다.

감사합니다.

반응형

'프로그래밍 언어 > 코틀린' 카테고리의 다른 글

코틀린 13. 생성자  (0) 2020.12.24
코틀린 12. 클래스  (0) 2020.12.24
코틀린 10. 흐름제어  (0) 2020.12.23
코틀린 9. 반복문  (0) 2020.12.22
코틀린 8. 조건문  (0) 2020.12.22