Kotlin32 [코틀린] 함수형 프로그래밍 코틀린은 함수형 프로그래밍, 객체 지향 프로그래밍을 모두 지원하는 다중 패러다임 언어 코드가 간략화되고 테스트나 재사용성이 더 좋아지고 개발 생산성 늘어남 함수형 프로그래밍 순수 함수를 작성하여 프로그램의 부작용을 줄이는 프로그래밍 기법 람다식 사용 고차 함수 사용 순수함수 같은 인자에 대하여 항상 같은 값 반환 함수 외부의 어떤 상태도 바꾸지 않음 스레드에 사용해도 안전 코드 테스트 쉬움 람다식 ( -> ) 람다 대수에서 유래 이름이 없는 함수 (익명 함수) 2개 이상의 입력 -> 1개의 출력 {x, y -> x + y} 고차 함수 다른 함수를 인자로 사용하거나 함수를 결과 값으로 반환 fun main() { println(highFunc({x,y -> x + y}, 10, 20)) } fu.. 2020. 9. 18. [코틀린] 함수 선언 및 사용 1. 함수 기본 선언 fun sum(a : Int, b : Int) { return a+b } 2. 함수 내 코드가 한줄 일 때 간략하게 선언 fun sum(a : Int, b : Int) = a + b 3. 함수 파라미터 default 값 지정 fun sum(a : Int = 2, b : Int = 1) = a + b fun main() { println(sum()) // 결과 : 3 } fun sum(a : Int = 2, b : Int) = a + b fun main() { println(sum(b = 1)) // 결과 : 3 } 2020. 9. 18. [코틀린] Safe call과 non-null 단정자 Safe Call (?.) nullable한 변수를 검사하여 null이면 NullPointerException 발생하지 않고 그냥 그대로 null을 출력(사용) var str1 : String? = null var len = str1?.length println(len) // 결과 : null 엘비스 연산자 (?:) 변수가 null인지 아닌지 검사하여 null이 아니라면 왼쪽 식을 그대로 실행하고 null이라면 오른쪽 식 실행 var str1 : String? = null var len = str1?.length?:-1 println(len) // 결과 : -1 non-null 단정자 (!!.) 변수에 할당된 값이 null이 아님을 단정하므로 null검사 없이 컴파일함 하지만 만약 null이 사용되었을 .. 2020. 9. 18. [코틀린] 코틀린의 자료형 1. 기본형 자료형 (Primitive Data Type) 가공되지 않은 순수한 자료형 프로그래밍 언어에 내장 참조형보다 코드 수행시간 빠름 주로 스택 영역에 저장 EX) int, double, float, long 2. 참조형 자료형 (Reference Type) 객체를 생성하고 동적 메모리 영역(힙)에 데이터를 둔 다음 이것을 참조하는 자료형 코틀린은 '참조형 자료형' 만 사용 참조형으로 선언된 변수는 성능 최적화를 위해 코틀린 컴파일러에서 다시 기본형으로 대체됨 EX) String, Date, Integer 부호 있는 정수 자료형 자료형 크기 값의 범위 근사값 Long 8바이트 (64bit) - 2^63 ~ 2^63 - 1 Int 4바이트 (32bit) - 2^31 ~ 2^31 - 1 2.. 2020. 9. 1. 이전 1 ··· 5 6 7 8 다음