함수(function)
한가지 더 연습해 보자.
main() 함수 아래에 새 함수를 만든다.
함수 이름은 printMemo (첫글자는 소문자, 이후 단어의 첫글자는 대문자)
매개변수 이름은 memo (아무 이름으로 지어도 되지만 내용을 알 수 있도록 짓는 것이 좋다. 소문자로 적는다)
매개변수 자료형은 String (첫글자는 대문자로 적는다. 콜론 다음에 매개변수의 형식을 적는다.)
앞에서 반환자료형을 설명했었는데
위 함수는 반환 자료형(Return Type)이 없기 때문에 본래는 아래 처럼 Unit을 붙여야 한다.
반환형이 없는 경우는 Unit을 생략할 수 있기 때문에 여기서는 적지 않았다.
반환형에 대해서는 다음에 알아보기로 한다.
이렇게 함수의 틀(외관)은 만들었다.
이제 이 함수가 어떻게 작동할 지 실행 코드를 작성한다.
실행코드는 { } 중괄호 안에 작성한다.
중괄호 안에 커서를 두고 엔터키를 친 후 코드를 입력한다.
실행하는 부분에 '매개변수를 화면에 출력하는 코드'를 작성하자.
println(memo)
화면에 출력하라 (뭘?) 매개변수의 값을
앞에서도 살펴봤듯이
매개변수 이름(memo)은 매개변수 자체가 아니라
매개변수의 값을 대표하는 것이다.
우리 모두 가지고 있는 자신의 이름이 그 사람 자체를 나타내는 것이 아닌것과 같다.
이름은 나를 다른 사람이 구분짓기 위한 표식일 뿐이다.
이제 함수의 틀과 기능도 만들었다.
Run 버튼을 눌러서 실행해 보자.
아무 반응이 없다.
왜 그럴까?
매개변수가 없어서 그럴까?
어제 배운대로 매개변수를 옵션창에 넣고 실행해도 마찬가지다.
그렇다!
함수가 만들어졌다고 모두 다 실행되는 것이 아니다.
만든 함수를 사용해서 실행하는 곳이 따로 있다.
그것이 main() 함수다.
프로그램을 실행하면 기본으로 메인함수만 실행한다.
이 메인함수가 프로그램의 출발점(시작점)이므로
이 함수가 없으면 실행 자체를 할 수 없다는 말이다.
그러므로 방금 만든 함수를 실행하려면
메인함수에서 사용해야 한다.
이 함수를 메인함수에서 사용해 보자.
main () 함수 중괄호{ } 안에 printMemo()를 입력한다.
에러 메시지가 나타난다.
마우스 포인터를 가져가 보자.
No value passed for parameter 'memo'
“전달된 값이 없다 (어디에?) 매개변수 memo에 ”
printMemo()함수 안에 전달할 매개변수를 적어보자.
이 함수는 매개변수로 문자열(String) 형식을 받는다고 정의해 두었기 때문에 매개변수로 문자열을 적어야 한다.
문자열을 적을 때는 쌍따옴표(큰따옴표) “”로 감싸야 한다.
괄호 안에 숫자1을 적고 실행해 보자.
에러 메시지가 뜬다.
"정수 문자는 맞지 않다 (뭐에?) 기대한 타입 문자열(에) "
즉, String(문자열)을 기다리고 있었는데 정수(integer)라서 안된다는 말이다.
이번에는 문자열을 넣어보자.
"Hi"
실행 해 보자.
한가지 더
이번에는 숫자1을 따옴표 안에 넣어서 실행해 보자.
여기서 알 수 있는 것은 숫자도 쌍따옴표에 넣으면 문자열로 인식한다는 것이다.
함수의 실행과정을 간단히 살펴보았다.
깨우쳐야 할 제일 중요한 점은
함수가 어떤 식으로 작동하는지 그 원리를 이해하는 것이다.
원리를 이해했으면 문자열을 출력하는 함수를 10개 이상 만들어 본다.
이렇게 하면 될까? 안될까?를 다양하게 실험해 본다.
끝.
'프로그래밍 언어 > 코틀린_쌩초보를 위한 기초' 카테고리의 다른 글
쌩초보를 위한 기초_06_Variable_변수 (0) | 2020.03.08 |
---|---|
쌩초보를 위한 기초_05_함수의 형태 (0) | 2020.03.08 |
쌩초보를 위한 기초_04_String & Int (0) | 2020.03.07 |
쌩초보를 위한 기초_02_Parameter_매개변수 (0) | 2020.03.07 |
쌩초보를 위한 기초_01_메인함수 (0) | 2020.03.07 |