자바를 하는 사람들에게는 메소드(Method)라는 것이 매우 익숙할지 모르겠으나, 코틀린은 메소드라는 표현보다는 펑션(Function)이란 말을 사용한다. 펑션은 사실 메소드보다 더 상위 개념이고, 메소드는 한 클래스내에서 호출이 가능한 펑션이라는 의미를 담고 있다. 코틀린의 경우 클래스를 생성하지 않아도 펑션을 만들 수 있기 때문에 펑션이란 말을 표현하는 것 같은데 펑션과 메소드라는 것부터 코틀린이 자바에서 분기된 사상이 무엇인지 알 수 있을 것이다. Kotlin의 함수 선언법 fun 함수명(인자값) 리턴값 { // 코드내용 } 코틀린의 경우 자바와 큰 차이는 우선 리턴값이 시작부터 선언하는 자바와 다르게 함수선언 이후에 선언을 한다는 점이다. 그리고 변수처럼 인자값에 들어가는 것도 자바의 int a처..
람다(Lambda) 함수는 익명으로 만드는 함수로, 별도의 def로 사용자 정의 함수를 만들지 않고 작업을 수행하는 익명 함수이다. 사실 함수라는 것이 "재사용"이 주된 목적인데 익명이라는 말이 뭔가 앞뒤가 안 맞아 보인다. 그러나 함수의 목적이 재사용만 있는 것은 아니다. 주된 목적이 재사용에 있지만, 코드의 간결함, 리팩토링등으로 봤을 때에도 함수를 사용할 수 있기 때문이다. 즉, 후자의 목적으로 만든 것이 람다함수라고 생각하면 될 것이다. 람다는 익명이기 때문에 한번 사용되면 heap 메모리에서 삭제되기 때문에 메로리 관리 차원에서는 유리한 면이 있다. lambda의 장단점 코드의 간결화 : 람다를 사용하게 되면 복잡한 코드가 간결하게 바뀌게 되어 코드의 간결화로 이루어 지며 이는 곧 가독성이 올라..
함수는 반복적으로 활용 될 수 있는 변수와 알고리즘 등을 묶어 호출할 수 있는 코드의 집합이다. 일반적으로는 단 하나의 목적을 가지고 만들어져 있지만, 여러가지 기능들을 처리할 수도 있고 전체적인 함수들을 또 호출하는 스크립트성 함수가 만들어질 수도 있다. 함수의 종료는 크게 4가지로 내장 함수와 외장 함수, 사용자 정의 함수 그리고 익명 함수(람다)로 나뉘어 질 수 있다. 내장 함수는 파이썬을 설치하는 순간부터 쓸 수 있는 것으로 우리가 흔히 사용했던 print() 같은 것이 내장 함수이다. 외장 함수는 외부에서 만들어진 것들을 우리가 불러다가 쓰는 것이고, 사용자 정의 함수는 사용자가 직접 만든 함수이다. 즉 지금 우리가 할려는 함수를 만들고 사용한다는 것은 사용자 정의함수를 만든다는 것과 동일하다...