본문 바로가기

Java and Android

(49)
Android Kotlin - Observer Pattern 1.Observer Pattern (1) object(= 객체 = class) 간 소통방식 : interface 1개 일때 - 아래 예시에서 interface EventListener 를 Observer(=Listener) 라 부른다 - 위 예시에서의 이벤트 인터페이스의 구현과 이벤트 수신을 담당하는 class ThisIsEvent : EventListener{} 객체는 그 형태를 아래 예시와 같이 2가지로 사용할 수 있는데 일반적으로 이벤트 발생을 담당하는 객체의 인스턴스를 생성함과 동시에 이벤트 인터페이스를 구현하는 Callback형태로 많이 쓴다 - callback형태로 구현한 깔끔한 코드 (2) object(= 객체 = class) 간 소통방식 : interface 2개 일때 출처 : pjh374..
Android Kotlin - Label 1.Label
Android Kotlin - Object, Companion Obejct 1.Object 2. Compaion Object
Android Kotlin - data class, enum class 1. data class : data class는 사용자가 직접 호출하기위한 함수가 아닌 배열이나 리스트등에 데이터 클래스에 대한 객체가 담겨있을때 그 내용을 쉽게 꺼내 쓸 수 있기 위한 것 2. enum class enum class는 열거형 클래스로 현재상태를 구분하기 위한 객체들을 이름을 붙여 여러개를 생성해두고 그 중 하나의 상태를 선택하여 현재 상태를 나타내기위한 클래스이다 클래스안의 객체들은 관행적으로 상수를 나타내는 대문자로 쓴다 함수도 추가할수 있는데 이때는 객체의 선언이 끝나는 위치에 ;를 추가하고 함수를 기술한다 또한 객체들은 고유한 속성을 가질 수 있다
Android Kotlin - 스코프함수 스코프함수 인스턴스의 속성이나 함수를 스코프내에서 깔끔하게 분리하여 사용할 수 있다는 점 때문에 코드의 가독성을 향상시킨다 1. apply 2. run *일반 람다함수와 비슷한 구조로 {}안의 코드를 순서대로 실행하고 마지막 구문을 리턴한다 3. with 4. let 위 사태를 해결하기 위한 것이 let *참고로 let은 과 run은 var str? = "NotNull" str?.let{print(it)} //출력 : NotNull 의 경우 처럼 if(str != null) println(str) //출력 : NotNull 와 같은 뜻으로 사용하는 경우도 많다 5. also run에 let이 사용되는 것처럼 apply를 사용했을때 4와 같은 문제가 있다면 also를 사용한다 apply run with l..
Android Kotlin - 람다 1. Lamde(람다) (1) - 람다식을 변수에 담기 *var K : (Int, Int) -> Int = {a, b -> a+b} 혹은 var K ={a : Int, b : Int -> a+b} 처럼 둘중 한 항의 타입만 적어주면 나머지 항은 자동추론이 된다 (2) - 람다식을 함수에 담기 *fun Lamda(아무변수명가능 : (Int, Int)-> Int){ println(K(1,2)) } (3) - 람다식의 표현법 *자바스크립트와 같은코드 언어비교 *람다함수의 리턴값이 여러줄인 경우 마지막 값을 최종적으로 리턴한다! 2. 람다 리터럴 표현식 (1) - 파라미터가 1개인 람다식의 람다리터럴 표현식 1. Lamda{it +2}는 원래 Lamda({it +2})로 Lamda()라는 함수가 it+2를 리턴..
Android Kotlin - class, 상속, 추상화, 인터페이스 1.class (1) - 기본생성자 (2) - init{} (3) - class를 바탕으로 생성한 인스턴스에 파라미터를 넣지 않았을 경우 default 값 넣기 (4) - 보조생성자 2. inheritage (상속) (1) - 파라미터가 없는 class 상속 (2) - 파라미터가 있는 class 상속 (3) - 서브클래스가 슈퍼클래스의 파라미터를 다 물려받으면서 자신의 파라미터도 가진 경우 3. 추상화와 인터페이스 (1) - 추상함수를 포함한 추상클래스 (2) - 인터페이스
Android Kotlin - for, while, Non-null, Nullable 1. for 2. while 3.Non-Null / Nullable (1) - null sage 연산자 --> ?. (2) - elvis 연산자 --> ?: (3) - non-null assertion 연산자 --> !! (4) - .let