함수의 형태
오늘 코틀린 버전이 1.3.70 으로 업그레이드 되었다.
지금까지 함수 몇 가지를 만들어 보았다.
이번 글에서는 함수를 정의하는 또 다른 형태와 함께
복습할 수 있는 함수를 만들어 본다.
play.kotlinlang.org로 이동해서
아래와 같은 함수를 만들어 보자.
참고로 전체 이름(Full Name) 홍길동에서 '홍'에 해당하는 성은 영어로 last name ,
'길동'에 해당하는 이름은 first name 이라는 것은 다 알겠지만 노파심으로 적어본다.
함수 이름: printFullNameOfYou
(굳이 해석하면 '당신의 전체 이름을 출력하라'이다. 앞에서 한번 언급했지만 함수 이름은 간단하면서도 기능이 무엇인지 알 수 있게 짓는 것이 좋다. 또한 이름이 길 때는 단어의 첫글자를 대문자로 적는다.)
매개변수1 이름: lastName
매개변수1 자료형: String
매개변수2 이름: firstName
매개변수2 자료형: String
매개변수 firstName에 입력 (무엇을?) 문자열 White
위 함수의 매개변수는 2개이다.
매개변수가 여러 개 일때는 쉼표로 구분한다고 했다.
그리고 두번째 매개변수인 firstName에 직접 문자열을 저장했다.
이렇게 매개변수에 직접 값을 저장할 수도 있구나 정도로 이해하자.
그래서 만약 이 상태의 함수를 실행하면
매개변수 lastName에는 아무것도 없고
매개변수 firstName에는 White라는 문자열이 저장된다.
저장은 메모리(Ram)의 한 부분에 기억된다.
이제 아래와 같이 실행할 부분을 작성하자.
실행 부분의 괄호 안에는 큰따옴표 안에 문자열이 있지만
기호 $ 가 붙어 있는 문자는 단순한 문자열이 아니라 매개변수 이름을 나타낸다.
이렇게 문자열 내부에 변수를 넣어야 할 때는 변수 이름 앞에 기호$를 붙인다.
이전 글에서 작성했던 코드와 비교해서 어떤 차이가 있는지 생각해 보자.
결론적으로 큰따옴표 안에 문자열을 입력할 때 매개변수 이름을 넣어야 할 경우에는 그 앞에 $기호를 추가한다.
이제 방금 만든 printFullNameOfYou 함수를 사용해서 전체 이름이 출력되도록 해 보자.
함수를 사용하려면 main() 함수에서 실행해야 한다.
main() 함수의 실행 부분에 printF 까지만 입력하고 잠시 기다리면 아래 처럼 팝업 메시지가 나타난다.
이것은 자동 완성(Auto Completion) 기능이다.
이름이 긴 함수 등을 입력하기 편하도록 자동으로 준비되어 있는 항목을 보여준다.
친절하게 이름 뿐만 아니라 괄호 안에 어떤걸 넣어야 하는지도 예를 들어 표시해 준다.
입력하고자 하는 내용이 맞다면 그냥 엔터키를 치면 된다.
자동 완성 기능이 편리하긴 하지만
단점은 직접 글자를 완전하게 입력하지 않아서 많은 명령어에 익숙해 지는데 손해가 될 수도 있다.
그래서 초보자는 보여지는 내용을 참고해서 끝까지 적는 습관을 들이는게 좋을 듯 하다.
또 하나의 단점은 가끔씩 잘못된 내용으로 자동 완성되는 경우가 있다.
무조건 믿지 말고 꼼꼼하게 확인하면서 입력하도록 한다.
아래 그림과 같이 완성해 보자.
이렇게 된 상태로 실행하면 어떻게 될까?
직접 확인해 보기 바란다.
아래와 같이 코드를 수정하여 실행도 해 보자.
다 됐으면 코드를 외운 후 모두 지우고 자신의 이름이 출력되도록 코드를 적어서 출력해 보자.
두번째로 해 볼 작업은 Int 자료형을 사용하는 것이다.
문자열을 해 봤으니 숫자도 해 보는게 예의다.
아래와 같이 입력하자.
이 함수가 다른 함수와 다른 점은 무엇인가?
참고로 multiply는 '곱셈하다'이고
코드를 작성할 때 곱셈 기호는 * (별표)를 사용한다.
함수 이름: multiply
첫번째 매개변수: a
두번째 매개변수: b
그리고 매개변수 밖에 곱셈식이 적혀있다.
이것은 앞 글에서 작성했던 덧셈 함수의 return을 다르게 표현한 것이다.
덧셈 해서 그 값을 반환했을 때는 이렇게 표현했다.
{ return x + y }
return과 중괄호{ }가 없어지고 기호 = 만 사용하여 아주 간결해 졌다.
이것이 코틀린 함수의 여러 장점 또는 특징 중의 하나이다.
다른 언어와 비교해서 이런 장점들이 많아서 프로그래머들이 코틀린 언어를 좋아한다는 말도 있다.
어쨌든 만든 함수로 main()함수에서 직접 곱셈을 해 보자.
아래와 같이 입력해서 실행하면 될까?
안된다.
왜????????
이 답을 할 수 있으면 제대로 배운거다.
정답 20이 출력되도록 코드를 수정 해 보자.
끝.
'프로그래밍 언어 > 코틀린_쌩초보를 위한 기초' 카테고리의 다른 글
쌩초보를 위한 기초_07_변수 타입_Number (0) | 2020.03.09 |
---|---|
쌩초보를 위한 기초_06_Variable_변수 (0) | 2020.03.08 |
쌩초보를 위한 기초_04_String & Int (0) | 2020.03.07 |
쌩초보를 위한 기초_03_Function_함수 (0) | 2020.03.07 |
쌩초보를 위한 기초_02_Parameter_매개변수 (0) | 2020.03.07 |