본문 바로가기
프로그래밍/Kotlin

6. 함수 - fun (구글이 알려주는 안드로이드 코틀린 앱 개발)

by Dylan Kim 2022. 4. 7.
반응형


<구글이 알려주는 앱 개발 무료 강의>

[코틀린/Kotlin] 가이드 맵 - 전체 보기


 


[코틀린으로 배우는 안드로이드 기초]

6. 함수 - fun  in 코틀린

안녕하세요. dylan입니다.

오늘은 생일 메시지 카드 좀 더 예쁘게 꾸며 주며 함수(fun)에 대해서 알아보겠습니다.

 

(구글 개발 강의 출처)

코틀린 기초 → 코틀린 소개 → Kotlin에서 생일 메시지 만들기      

 

먼저 요약과 우리가 작성할 코드를 보겠습니다.

강의 요약
  • 함수 사용 방법을 배웁니다.
  • 함수는 특정 작업을 실행하는 프로그램의 섹션입니다.
  • print() / println() 차이를 확인합니다.

 

강의 코드
fun main() {
    val name = "재석"
    var age = 20
    
    printBorder()
    println(" 생일 축하해, ${name}!")
    printBorder()
    
    // Let's print a cake!
    println("   ,,,,,   ")
    println("   |||||   ")
    println(" =========")
    println("@@@@@@@@@@@")
    println("{~@~@~@~@~}")
    println("@@@@@@@@@@@")
    
    // This prints an empty line.
    println("")
    
     println("${age}번째 생일 이구나, ${name}!")
    
}

fun printBorder() {
    println("====================")
}

 

출력 결과

생일 배너 만들기

생일 배너를 좀 더 예쁘게 꾸며 볼 건데요.

함수는 fun 키워드를 사용하며, println() 배울 때 잠깐 배웠었습니다.

프로그래머의 능력은 같은 결과물을 얻을 때,

얼마나 간소화할 수 있는지,

얼마나 보기 쉽게 작성할 수 있는지,

얼마나 빠른 시간 안에 처리할 수 있는지의 고민은 항상 해야 합니다.

한 번에 코딩하여 완벽하게 결과물을 얻는다면 아주 좋겠지만, 사실 그렇게 하기가 쉽지 않습니다.

그래서 코딩 후 재 수정하기도 하며, 추후 유지보수를 위해서 수정하는 등 이를 리팩터링이라고 불립니다.

 

자, 이 개념을 잡기 위해 같은 결과를 두 가지 방법으로 작성하는 코드를 보여드릴게요.

좀 더 생일 축하 카드 같은 느낌이 들도록 변경해 보겠습니다.

위 같이 생일 축하해, 재석! 위아래에 배너를 추가해볼 건데요. 아래와 같이 작성하면 되겠죠?

코딩 집중을 위해서 해당 부분 외에는 삭제하고 작성합니다.

 

코틀린 코드

fun main() {
    println("====================")
    println(" 생일 축하해, 재석!")
    println("====================")
}

 

출력 결과

 

자 생각해봅시다, 위와 같은 코드 중 반복되는 부분이 있나요?

 

 

 

 

네, 배너의 내용이 반복되고 있습니다. 이 부분을 함수를 사용해서 똑같은 결과물을 얻어 보도록 하겠습니다.

 

 

 

함수 선언

fun printBorder() {
    println("=======================")
}

함수를 만드는 방법입니다.

  • fun 키워드로 시작하고 이름 printBorder, 괄호 (), 중괄호 {}로 이어집니다.
  • printBorder처럼 소문자와 동사로 함수 이름을 작성합니다.
  • 함수 이름의 뜻은  함수가 하는 작업을 설명해야 합니다. 예: print() 또는 printBorder()
  • 함수 이름의 두 번째 단어는 대문자로 시작합니다.
  • 이러한 스타일을 '카멜 표기법'이라고 하며 이를 통해 이름을 훨씬 쉽게 읽을 수 있습니다. 

 

함수 호출(사용)

fun main() {
    printBorder()
    println("Happy Birthday, Jhansi!")
    printBorder()
}

fun printBorder() {
    println("=======================")
}

 

사용할 부분에 printBorder()를 적어주면 해당 위치에서  fun printBorder() { 로 이동하여 함수를 다 실행하고 돌아오게 됩니다. 위 코딩을 실행하면 다음과 같이 출력됩니다.

 

출력 결과

동일한 결과이지만, 좀 더 멋진 프로그램 같은 프로그램으로 변경되었죠?

자, 아주 간단한 함수 사용 방법에 대해서 배워봤습니다. 적절한 함수 사용은 가독성이 뛰어날뿐더러, 반복되는 작업 대한 코딩 라인을 줄여 줌으로써 이후 유지보수 속도도 향상됩니다. 하지만 무분별하게 사용할 경우 오히려 코드 리딩 시 더 헷갈릴 수도 있다는 점입니다. 적재적소에 필요한 함수를 사용하고 있는지 반드시 점검이 필요합니다!

 

자 오늘도 마지막 숙제를 드릴게요. 답은 비밀 댓글로 달아주세요^^!

 

배너의 모양을 바꾸려면 어떻게 해야 할까요?


출력 결과

이상으로 강의를 마치겠습니다.

감사합니다.

 


 
반응형

댓글