본문 바로가기

개발/Kotlin7

[코틀린] 함수형 프로그래밍 - 고차 함수, 람다식 함수형 프로그래밍이란 함수형 프로그래밍(FP) 순수 함수를 작성하여 프로그램의 부작용을 줄이는 기법 정의와 특징 순수 함수를 사용해야 한다. 람다식을 사용할 수 있다. 고차함수를 사용할 수 있다. 순수 함수 같은 인자에 대하여 항상 같은 값을 반환한다 (부작용이 없는 함수) 함수 외부의 어떤 상태도 바꾸지 않는다 람다식 수학에서 람다 대수는 이름이 없는 함수로 2 개 이상의 입력을 1개의 출력으로 단순화한다는 개념 FP에서는 다음을 의미 다른 함수의 인자로 넘기는 함수 함수의 결괏값을 반환하는 함수 변수에 저장하는 함수 일급 객체에 이름이 없는 경우, 이를 '람다식' 함수 또는 '람다식'이라 부름 일급 객체 FP에서는 함수를 일급 객체로 생각한다 일급 객체의 특징 일급 객체는 함수의 인자로 전달할 수 있.. 2021. 12. 10.
[코틀린] 코틀린 함수 코틀린 함수의 기본 구조 fun 함수명([변수명: 타입], ...): [반환 타입]{ ... } fun sum(a: Int, b: Int): Int { var sum = a + b return sum } fun sum(a: Int, b: Int): Int = a + b fun sum(a: Int, b: Int) = a + b 함수 반환값 생략 fun printSum(a: Int, b: Int): Unit{ println("sum of $a and $b is ${a+b}") } fun printSum(a: Int, b: Int) { println("sum of $a and $b is ${a+b}") } 반환값이 없을 경우 코틀린의 특수한 자료형인 Unit을 반환값으로 사용. 반환값의 타입이 없을 경우 코틀.. 2021. 12. 10.
[코틀린] 변수와 자료형, Null 처리 코틀린에서 메인 함수는 자바와 달리 클래스 안에 생성하지 않는다. fun main(){ // 실행 내용 } 변수와 자료형 val과 var val : 초기화 후 더이상 변경할 수 없음 var : 초기화 후에도 값을 바꿀 수 있음 var/val 변수명: 타입 = 값 val number = 10 // number는 Int로 추론 var language = "Korean" // language는 String으로 추론 val secondNumber: Int = 20 // sercondNumber는 자료형을 Int로 명시적으로 지정 var name: String // 초기화하지 앙않으면 타입을 명시해야함 language = "English" // var 선언이므로 변수의 값을 재할당 할 수 있다. 타입은 기본적으로.. 2021. 12. 8.
코틀린(Kotlin) 스터디 4 - 클래스(Class), 상속(Inheritance) object : 단일 객체를 만들기위한 키워드 class 선언 둘 다 실행결과는 같다. 두번째는 클래스 안의 메소드를 이용해서 출력한 것 위와 같이 init을 이용해서 초기화도 가능 보조생성자 상속 Super Class(부모 클래스)는 선언시 open 키워드가 필요하다 (Kotlin에서 Class는 기본적으로 final 속성이기 때문) class 클래스이름(상속받을 클래스 매개변수명 : 타입, ~) : 상속받을 클래스(매개변수명) overriding 상속받은 클래스의 메소드를 override할 수 있다 이때 부모 클래스의 메소드 앞에는 open 키워드가 있어야한다 2020. 1. 19.