App/안드로이드

    Activity / Intent

    1. Activity : 아느로이드 애플리케이션을 구성하는 기본 단위이며, 사용자와 상호 작용하는 UI를 제공- 각 Activity는 '사용자에게 보여지는 단일 화면'이며 '안드로이드 애플리케이션의 기본 구성 요소'인데요. 이는 "Activity가 시스템에 의해 애플리케이션이 실행될 수 있는 '진입점'역할을 수행한다"는 의미 2. 단일화면 : '사용자의 입력을 받을 수 있는 활성화된 유일한 화면'이라는 의미, 활성화되지 않은 Activity UI요소들은 입력을 받을수 없다. 3. 인텐트(Intent) : 안드로이드에서 앱 구성 요소 간의 작업을 요청할 수 있는 메시지 객체 - 기본적인 용례)a) 액티비티 시작 : Activity는 사용자와 상호 작용이 가능한 단일 화면. Activity의 새 인스턴스를 ..

    람다 식 / Collection API / 확장함수 / Null Safety

    람다 식 / Collection API / 확장함수 / Null Safety

    1. 람다 식- Lambda.kt - LambdaTest.kt - 결과) - 코틀린에서 add, sub, mutiple, div 같은 함수를 일급 객체로 취급합니다. - 일급 객체(first Class Citizen)' 이란a. 변수와 자료 구조에 할당 가능해야 한다b. 함수의 파라미터로 전달이 가능해야 한다c. 함수의 반환값으로 전달이 가능해야 한다d. 동등성 비교가 가능해야 한다 2. Collection의 함수형 API컬렉션 API 설명 filter 컬렉션에서 조건에 맞는 항목만 추출해 새로운 컬렉션을 반환 map 컬렉션에 항목을 변환하여 새로운 컬렉션을 만들고 반환 flatmap 컬렉션의 포함된 항목들을 평평하게 펼친 뒤 변환하여 새로운 컬렉션을 반환 find 함수의 조건을 만조갛는 항목 한 개를 ..

    Singleton 패턴 및 Obejct 클래스 / Data Class / 내부/중첩 클래스

    Singleton 패턴 및 Obejct 클래스 / Data Class / 내부/중첩 클래스

    1. SIngleton : 객체의 생성을 제한하여 한 개의 인스턴스만 생성되도록 하는 것- SingletonJava.java - SingletonJavaTest.java - SingleKotlin.kt - SingletonKotlinTest.kt - 결과) 2. Data ClasstoString()함수와 equals()함수 그리고 hashCode()함수까지 잗종으로 만들어주는 클래스이다- Fruit.kt - FruitTest.kt - 결과) 3. 내부 클래스와 중첩 클래스 변경자 클래스 멤버 최상위 선언 internal 같은 모듈에서 접근 가능 같은 모듈에서 접근 가능 private 클래스 내부에서만 사용 가능외부에 비공개 같은 파일에서만 접근 가능 protected 클래스와 상속받은 하위 클래스에서 사..

    Getter/Setter / Property와 Field / 클래스 상속/위임 / 프로퍼티 위임(lazy, observable, map)

    Getter/Setter / Property와 Field / 클래스 상속/위임 / 프로퍼티 위임(lazy, observable, map)

    1. 코틀린 Getter/Setter 자동 제공- PersonJava - PersonKotlin - JavaTest - KotlinTest 결과) 2. Setter 수정해서 사용- PersonJava - PersonKotlin - JavaTest - KotlinTest 3. Property와 FieldField : 클래스에 선언되어 있는, '클래스 변수'가 아닌 '인스턴스 변수'를 의미Property : Field와 접근 가능한 Geter, Seter의 조합을 의미 4. 클래스 상속- 코드 구현에 대한 상속 : 다중 상속에 취약함 그리고 '취약한 기반 클래스 문제(fragile base class)' 라고 하위 클래스에서 상위 클래스의 메소드를 오버라이딩하면서 발생됨- 인터페이스 집합에 대한 상속 : 다..

    코틀린(Kotlin) 특징

    코틀린(Kotlin) 특징

    1. Kotlin : 2017년 안드로이드 공식 개발 언어로 지정 장점) 1) 코틀린은 'Java'와 100% 상호 호환되면서도 더 현대적이고 간결 2) 코틀린은 'Null Pointer exception'이 발생할 수 있는 코드를 금지하고 Null에 대해 안전한 코드를 간결하게 표현할 수 있도록 지원 3) 코틀린은 '타입 추론'을 지원하기 떄문에 정적 타입 지정언어가 가진 정확성과 성능을 보장하면서도 동적 타입 언어와 같은 간결함을 유지 4) 코틀린은 '람다 표현식'을 지원합니다. 코틀린의 람다 표현식은 'Java 8'부터 지원되는 람다 표현식보다 더 간결 5) 코틀린은 '객체 지향' 프로그래밍과 '함수형' 프로그래밍 스타일을 모두 지원 6) 코틀린의 '확장 함수'는 기존 클래스의 변경 없이 클래스의 ..