728x90
반응형
자바(Java) 언어를 사용하다 코틀린(Kotlin) 함수 사용 시
첫 번째 어색해지는 부분은 아마도 '함수를 선언하는' 방법일 것입니다!
여기서 자바에서 함수 선언과 비교로 각 상황에 맞는 코틀린 함수 선언법을 배워봅시다
함수는 프로그래밍에 가장 중요한 부분 중 하나의 문법입니다!

먼저 자바의 경우 함수를 선언하기 위해 별도의 키워드를 쓰지는 않습니다
반면 코틀린의 함수는 'fun'이라는 키워드를 사용하죠
자바(Java) | 코틀린(Kotlin) |
public void function() { } | fun function() { } |
각자의 함수 선언 스타일이 다르죠?
또한 함수에 넣을 별도 파라미터가 있을 경우
자바는 파라미터의 타입을 적고 파라미터의 이름을 적지만
코틀린은 변수를 사용 시 같이 파라미터의 이름을 먼저 적고 타입을 지정합니다
예를 들어 int 타입의 이름이 'age'인 파라미터를 받는다면
자바(Java) | 코틀린(Kotlin) |
public void function(int age) { } | fun function(age:int) { } |
앞서 프로그래밍 기초를 공부 시 "함수는 반환 값을 가질 수 있다"
자바의 경우 '반환값의 타입'을 반드시 입력
심지어 함수 반환이 없는 경우 "반환값이 없다"는 의미로 'void'를 표시하죠
물론 자바의 함수 반환값의 타입을 함수 이름 앞에 적어야 합니다
반면 코틀린은 반환값이 없는 경우 굳이 반환값의 타입을 적을 필요가 없습니다
반환값이 있는 경우에 함수의 선언부 끝에 '콜론(:)' 기호를 사용하여 표시하죠
자바(Java) | 코틀린(Kotlin) |
public void function(int age) { } public void function2(int age) { return 0; } | fun function(age:int) { } fun function2(age:int): int { return 0 } |
함수 선언 방법이 상황에 따라 자바와 코틀린의 다른 점이 보이시나요?
* 코틀린에는 'void' 같은 형태로 'Unit' 타입이 있는데 생략이 가능하여 함수 리턴값으로 적지 않아도 됩니다
728x90
반응형
'개발일지' 카테고리의 다른 글
Kotlin의 최상위 함수 (1) | 2024.12.03 |
---|---|
자바(Java)의 정적 유틸리티 클래스 (1) | 2024.11.30 |
Kotlin의 반복문 활용 (0) | 2024.11.27 |
코틀린(Kotlin)의 if, else, switch (0) | 2024.11.26 |
코드 오타도 없는데 왜 오류가 발생하지? 자바(Java)의 if, else, switch (1) | 2024.11.25 |