코틀린 인 액션(3)
-
3장 : 함수 정의와 호출
- const 추가 시 public static final 필드로 컴파일 됨 # 확장함수 - 어떤 클래스의 맴버 메서드인 것 처럼 호출할 수 있지만 그 클래스 밖에 선언된 함수 package strings fun String.lastChar() : Char = this.get(this.length - 1) - 클래스 이름(String) -- 수신 객체 타입 - 확장 함수가 호출되는 대상이 되는 값(객체, this) -- 수신 객체 - 위 코드에서 this 생략 가능 - 확장함수 안에서는 클래스 내부에서만 사용할 수 있는 private, protected 맴버를 사용할 수 없다. - 확장함수는 오버라이드 할 수 없음 - 확장한 함수와 그 클래스 맴버 함수의 이름이 같으면 확장 함수가 아니라 맴버 함수가 호..
2023.04.10 -
2장 : 코틀린 기초
- 코틀린 if는 값을 만들어내지 못하는 문장이 아니고, 결과를 만드는 식임 fun max(a: Int, b: Int) : Int { return if(a > b) a else b } - 이름이 is로 시작하는 프로퍼티는 getter에 get이 붙지 않고 setter에는 is를 set으로 바꾼 이름을 사용 # 프로퍼티 접근자 직접 작성 방법 class Rectangle(val height : Int, val width : Int) { val isSquare : Boolean get() { return height == width } } # enum, when 사용법 enum class Color (val r: Int, var g: Int, var b: Int) { RED(255,0,0), GREEN(0,..
2023.04.10 -
1장 : 코틀린이란 무엇이며 왜 필요한가
# 함수형 프로그래밍 특징 1. 일급 시민인 함수 : 함수를 일반 값처럼 다룰 수 있음 2. 불변성 : 내부 상태가 절대로 바뀌지 않음 3. 부수효과 없음 : 입력이 같으면 항상 출력이 같음. 다른 객체 상태를 변경하지 않음. 외부와 상호작용하지 않는 순수 함수를 사용 4. 간결하고 우아함 5. 다중 스레드를 사용해도 안전 6. 테스트하기 쉬움 - 코틀린은 타입 추론을 지원하는 정적 타입 지정 언어 : 소스코드의 정확성과 성능을 보장하면서도 소스코드를 간결하게 유지 가능 - OOP, FP 모두 지원 - 안드로이드 활용 가능, 무료, 오픈소스, IDE 지원, 안전, 간결, 상호운용성 높음 - 자바와 호환 좋음
2023.04.09