본문 바로가기

# 02

[Kotlin] 함수형 프로그래밍 코틀린은 다중 패러다임 언어함수형 프로그래밍(FP : Functional Programming)객체 지향 프로그래밍(OOP : Object-Oriented Programming) 함수형 프로그래밍코드 간략, 테스트나 재사용성 증가람다식, 고차 함수를 사용해 구성순수 함수 함수를 여러 가지 조합 형태인 매개변수, 인자, 반환값으로 사용할 수 있다. 순수 함수 이해 부작용이 없는 함수동일한 입력 인자에 대해서는 항상 같은 결과를 출력 혹은 반환 한다.값이 예측이 가능해 결정적이다.// 순수 함수의 예fun sum ( a: Int, b: Int ) : Int {return a + b // 동일한 인자인 a, b를 입력 받아 항상 a+b를 출력 ( 부작용이 없음 )} 순수 함수의 조건- 같은 인자에 대하여 항상..
[Kotlin] 함수 선언하고 호출하기 함수를 선언할때는 매개변수 함수를 사용할 때는 인자 fun sum(a: Int, b: Int) : Int {var sum = a + breturn sum} 단! 매개변수에 val이나 var과 같은 선언 키워드는 사용하지 않는다.빨간색 Int가 리턴값의 자료형을 알려줌. 중괄호 안을 함수의 블럭이라 하고 블럭안이 변수 Int a, b 는 지역변수로 메모리상 스택에 존재 fun 함수 이름 ( [변수 이름: 자료형, 변수 이름: 자료형..] ) : [반환값의 자료형] {표현식...[return 반환값]} 반환값의 자료형이 존재하지 않을 때는 Unit, 매개변수 없을시에 생략 가능 일반적인 함수의 모습fun sum(a: Int, b: Int) : Int {return a + b} 간략화된 함수fun sum(a:..
[Kotlin] 자료형 변환 코틀린의 자료형 변환 기본형을 사용하지 않고 참조형만 사용서로 다른 자료형은 변환 과정을 거친 후 비교 val a : Int = 1 // 정수형 변수 a를 선언하고 1을 할당val b : Double = a // 자료형 불일치 오류 발생val c : Int = 1.1 // 자료형 불일치 오류 발생 변환 메서드의 이용val b : Double = a.toDouble // 변환 메서드 사용 (자바는 자동으로 변환되는데 코틀린은 변환 메서드 사용해줘야됨!!) 표현식에서 자료형의 자동 변환val result = 1L + 3 // Long + Int -> result는 Long 변환 메서드의 종류toByte : BytetoLong : LongtoShort : ShorttoFloat : FloattoInt : In..
[Kotlin] 변수의 null NPE(NullPointerException)사용할 수 없는 null인 변수에 접근하면서 발생하는 예외 코틀린의 변수 선언은 기본적으로 null을 허용하지 않는다.val a : Int = 30val b : String = "Hello" null 가능한 선언val a : Int? = nullval b : String? = null var str1 : String = "Hello Kotlin"str1 = null // null을 허용하지 않음 (오류 발생!) var str1 : String? = "Hello Kotlin"str1 = null // null을 허용. 오류 발생하지 않음! fun main() {var str1 : String? = "Hello World"str1 = nullprintln("str..
[Kotlin] 기본 연산자 대입 연산자 num = 2num += 2num -= 2num *= 2num /= 2num %= 2 // 간략하게 표시가능 왼쪽 항의 값을 오른쪽 값과 연산 후 왼쪽 변수에 대입 증가 연산자와 감소 연산자 ++ 항의 값에 1 증가 ++num 또는 num++-- 항의 값에 1 감소 --num 또는 num-- fun main() {var num1 = 10var num2 = 10val result1 = ++num1 // num 값 증가 후 대입val result2 = num2++ // 먼저 num 값 대입 후 증가 println("result1 : $result1") // 증가된 11println("result2 : $result2") // 증가되기 전의 10이 할당되므로 주의!!println("num1 : $..
[Kotlin] 패키지 프로젝트 안에 모듈있고 모듈안에 패키지 (지정안할시 디폴트) 안에 .kt 파일 생성하고 클래스 지정해주면됨! 다른 패키지에서 이 클래스 사용하고 싶으면 import해주면됨 근데 만약 다른 패키지 Person import 해줬는데 현재 패키지안에도 Person이 있으면 import com.example.edu.Person import com.example.edu.Person as User // Person 클래스를 User로 지정해줌 import는 클래스 뿐 아니라 다른것도 임포트 할 수 있다.최상위 레벨 함수와 프로퍼티, 오브젝트 선언의 함수와 프로퍼티, 열거형 상수
[Kotlin] 변수와 자료형 변수 var, val 선언가능 var 바꿀 수 있음val 최초로 지정한 변수 변경 안됨. 상수 개념(val 변수를 선언해 놓고 변경해야 할 때 var로 바꾸는 방법을 권장함) val username : String = "joy"선언키워드, 변수이름, 자료형, 값 val username = "joy"코틀린이 자료형을 추론하여 username의 자료형을 String으로 결정 var username // 자료형을 지정하지 않은 변수는 사용할 수 없다. val number = 10 // number 변수는 int 형으로 추론var language = "Korean" // language 변수는 String 으로 추론val secondNumber : Int = 20 // 자료형을 Int형으로 명시적으로 지정lan..
[Android] 프로젝트에 코틀린을 도입하기 전 알아두면 좋을 5가지 보호되어 있는 글입니다.