본문 바로가기

Programming/Kotlin

(5)
[Kotlin]코틀린을 이용한 안드로이드 프로그래밍 실습 04 퀴즈 : 1. 탑레벨의 고차 함수 TimeLogCheck 를 만든다. 2. TimeLogCheck 는 String 타입의 tag 와 함수타입 (tag:String) -> List 을 가지는 f 를 인자로 갖는다. 3. TimeLogCheck 에서 인자로 받은 람다를 실행하기 전에 “현재시간 : tag -> 시작” 이란 로그를 출력하고 람다를 실행한 후에 “현재시간 : tag -> 종료(elapsed time : 종료 – 시작)” 을 출력한다. 4. TimeLogCheck 는 람다함수가 리턴한 값을 리턴한다.5. 순서대로 1~1000 까지 가지는 mutableList 타입의 initList 를 생성한다. 6. A : 리스트의 filter 로 짝수를 걸러내고, map 에서 Int 를 String 으로 바꾼 ..
[Kotlin]코틀린을 이용한 안드로이드 프로그래밍 실습 03 열거형 CIRCLE, TRIANGLE, RECT, POLYGON 을 만들고탑레벨의 열거형 데이터 5개를 가지는 immutable 리스트(initDataList란 이름의 리스트) 1개를 생성하고, draw 와 printInfo 라는 인터페이스 메소드를 가진 IShape 인터페이스를 만들고, IShape 을 상속한 Circle, Triangle, Rect, Polygon를 x, y, w, h 를 가지는 데이터 클래스로 만들고 인터페이스 메소드를 오버로딩한다. 해당 클래스는 생성자를 private 으로 하고 동반객체를 통해 팩토리 메소드 제공한다.오버로딩하는 메소드에서는 어느클래스에서 어떤 함수가 호출되었는지를 출력하게 한다.initDataList 에 들어있는 열거형 타입에 맞는 클래스를 생성해서 도형 리스트..
[Kotlin]코틀린을 이용한 안드로이드 프로그래밍 실습 02 탑레벨의 숫자 데이터 10개를 가지는 immutable 리스트 2개를 생성하고,리스트 2개를 인자로 받아 같은 인덱스의 값을 비교하여 큰 값만 새로운 리스트에 넣어 리턴하는 탑레벨 함수를 만들고 (두개의 리스트의 크기가 다르면 null 리턴) 리턴받은 리스트의 값들을 인덱스와 함께 출력한다. (idx : value)1. 새로운 테스트 코틀린 파일을 생성한다. 2. 값 비교는 if 표현식으로 탑레벨의 max 함수를 작성한다. 3. 리턴 받는 List는 탑레벨의 lateinit 으로 작성한다. 또한 이 변수는 작성한 함수 안에서 접근하지 않고 리턴된 리스트만 받는다. # 객체지향 프로그래밍- PIE 1. Polymorphism(다형성) * overloading : 같은 이름의 함수(연산자)를 다른 타입으로 ..
[Kotlin] 코틀린을 이용한 안드로이드 프로그래밍 실습 01-2 fun main(args: Array) { println("Hello, world!")} - fun: 함수임을 나타내는 키워드- main: 함수 이름 ( 여기서는 엔트리포인트가 되는 메인 함수)- class 필요 없음 – 탑 레벨 함수 정의 가능.- (args: Array): 함수인자 "변수명: 타입" - println("Hello, world!"): System.out.println을 println으로 간단하게 사용 표준 자바 라이브러리 함수를 간소화해주는 wrapper를 제공- ; (세미콜론) 불필요 * 이후 예제는 안드로이드 스튜디오에서… 현재 안드로이드 스튜디오에서 직접 코틀린 메인 실행 안됨. (버그)실제 안드로이드 예제전까지 유닛테스트의 테스트로 예제 실행 # Kotlin 파일- 일반 파일과 ..
[Kotlin] 코틀린을 이용한 안드로이드 프로그래밍 실습 01-1 # 준비- 강의자료 : https://github.com/zoops/2018-kotlin-lecture- Kotlin 공식 홈페이지 : http://kotlinlang.org/- HAXM : 안드로이드 에뮬레이터 가속(속도 빨라짐)- Kotlin 웹 IDE : https://try.kotlinlang.org/ # IDE : Android Studio- 2.x 까지는 별도로 Kotlin 플러그인 설치 필요- 3.x 부터는 불필요(자동 설치)- 최소 버전 Lollipop 부터 지원# 개요- Kotlin은 JVM 위에서 돌아감(바이트코드로 변환->자바코드로 변환) JVM 위에서 돌릴 수 있는 모든 언어는 Kotlin으로 변경 가능! ex) Android(Java), Spring, sublet, java scr..