본문 바로가기

프로그래밍 언어/코틀린_쌩초보를 위한 기초

쌩초보를 위한 기초_02_Parameter_매개변수

Kotlin Playground (코틀린 연습 사이트)

계속하기 전에  Kotlin Playground 사이트를 잠시 둘러본다.

play.kotlinlang.org로 간다.

 

오른쪽 삼각형 모양의 실행 단추는 앞에서 사용해 보았다.

바로 아래 Settings(설정)버튼을 누른다.

 

configuration(환경설정)을 보면 Kotlin Version(버전)을 확인할 수 있다.

다른 버전을 선택할 수도 있지만 여기서는 최신 버전으로 학습한다.

혹시 잘 안되면 버전을 한칸 낮춰서 실행해 본다.

 

오른쪽 JVM(Java Virtual Machine, 자바 가상 기기)의 줄임말이다.

JVM은 자바 언어로 작성한 코드를 실행해 주는 프로그램이다.

코틀린은 자바에서 파생된 언어이므로 역시 JVM을 사용하여 실행할 수 있다.

 

그 아래에는 argument(전달 인자)를 입력하는 창이 있다.

다음에 사용해 보기로 한다.

 

그 아래 Share 버튼을 클릭해 본다.

 

Share 창에서는 작성한 코드를 공유하고 활용할 수 있는 기능이 있다.

옵션은 Link , Embed , Medium가 있다.

  • Link는 오른쪽 복사 버튼을 클릭한 후 다른 곳에 붙여넣기 해서 작성한 코드의 링크를 만들수 있다.
  • Embed는 코드를 html문서 안에 삽입할 수 있는 코드를 만들어 준다.
    화면 형태도 선택할 수 있고 일부 라인만 선택할 수도 있다.
    Read only mode를 체크하면 수정할 수 없고 읽기만 가능하다.
  • Medium은 코드를 삽입함과 동시에 실행도 할 수 있는 형태를 제공한다.

나중에 사용해 보기로 한다.

 

매개변수(Parameter)

이전 글에서 메인함수에 매개변수가 없는 상태로 실행해 보았다.

이번에는 함수의 매개변수를 넣는 곳인 괄호( ) 안에 뭔가를 입력한 후 실행해 본다.

설명은 나중에 하기로 하고 일단 아래 코드를 작성해서 실행해 보자.

 

아마 아래와 같은 에러가 날 것이다.

 

Exception은 '예외'라는 말이다.

thread는 '실행 단위'를 나타내는데 메모리에서 코드를 실행하는 하나의 과정이다.

어쨌든 실행해보니 예외가 발생했다는 에러 표시다.

File.kt:2를 클릭하면 코드 2번째 줄에 커서가 깜박인다.

2번째 줄의 어디에서 에러가 발생한 것이다.

 

참고로 코틀린 버전이 1.3 이전일때는

main함수 괄호 안에 위와 같이 매개변수 이름과 타입(유형)을 입력해야 했다.

눈치가 빠르면 args가 매개변수 이름이고 그 뒤가 타입이라는걸 알아 챘을 것이다.

1.3버전 이후에는 매개변수 없이 함수를 선언할 수 있다.

 

매개변수(parameter; 파라미터) main함수에 전달할 '외부의 인자(데이터)'를 가리킨다.

함수와 마찬가지로 매개변수도 표현하는 규칙이 있으며 그에 맞도록 작성해야 한다.

매개변수 적는 규칙은 다음과 같다.

 

fun name(parameter: Type) : ReturnType

fun 이름(매개변수: 타입): 반환타입

 

매개변수가 여러 개일때는 다음과 같이 표현한다.

 

fun name(param1: Type1, param2: Type2, … ) : ReturnType

 

반환타입이 없으면 Unit을 적거나 생략할 수 있다.

나중에 따로 배울것이다.

 

위에서 작성한 매개변수의 용어를 살펴본다.

args는 앞서 말했던 arguments(전달 인자)의 준말이다.

여기서는 매개변수의 이름으로 사용되었다.

 

Array는 '배열'을 나타낸다. 여러 개의 데이터를 하나로 묶어 관리하는 것을 말한다.

예를 들면 '사과 딸기 망고' 또는 '김아무개 박아무개 윤아무개'

각각의 데이터들은 번호가 (1이 아니라) 0부터 순서대로 매겨져 관리된다.

 

String은 '문자열'이다.

 

그러므로 위에서 입력한 매개변수(args: Array<String>)가 나타내는 뜻은 다음과 같다.

 

매개변수 이름은 args이다

매개변수명 다음에 구분하기 위해 콜론(:)을 사용한다.

매개변수는 (실행 코드로)전달할 때 Array(배열)값으로 하고, .

배열값의 타입(유형)은 문자열(String)이다

 

중괄호{ } 안의 '실행 부분'이 나타내는 뜻은 다음과 같다.

println(args[0])

println(args[1])

 

1. 화면에 출력하라 (?) 전달받은 문자열 형식의 배열 데이터 중 0번째 인자(를)

2. 화면에 출력하라 (?) 전달받은 문자열 형식의 배열 데이터 중 1번째 인자(를)

 

앞에서 왜 에러가 났는지 알겠는가?

에러가 난 이유는 매개변수에 들어간 값이 없기 때문이다.

매개변수에 입력한 값이 없으므로 당연히 출력할 값도 없다.

이 사이트에서 연습 중에 매개변수를 넣어보려면 Settings arguments를 사용하면 된다.

지금 연습하는 코드에서 넣어야 할 매개변수는 배열 데이터이므로 'Hi' 와 '안녕'을 넣어보자.

데이터 사이는 한칸 띄우면 된다.

 

 

이렇게 배열 데이터를 입력하면

main함수에서는 매개변수 args[0], args[1]을 만들고

순서대로 args[0]에는 'Hi' , args[1] 에는 '안녕'을 메모리에 저장한다.

그리고 실행 부분에 출력하라는 함수(println)가 있으므로

그것에 맞는 값이 전달되어 화면에 나타내 주는 것이다.

 

다시 실행해 보자.

 

 

이번 글은 여기까지다.

 

사족: 많은 프로그래머 선배들의 조언에 따르면 프로그램 실력을 빨리 키우고 싶다면 무조건 코드를 많이 작성해 보라는 말이었다. 복붙이로 베끼지 말고 실수를 두려워 하지 말고 직접 작성해 보라는 것이었다.

코드를 하나 배우면 응용해서 10번 이상씩 반복해서 만들어 보기로 한다.

 

사족 하나 더: 컴퓨터를 사용하는 우리들에게 무한한 편리함을 안겨준 복붙이( Ctrl+C , Ctrl+V)를 창안한 Larry Tesler가 며칠 전에 타계했다고 한다. 멋진 작품을 남기고 자연으로 돌아 가셨다. 나도 작품 하나 남기고 가야 할텐데...

 

끝.