Android/Kotlin(10)
-
[Kotlin][언어공부-9] 예외처리
Kotlin도 자바와 같이 try catch를 사용한다. 그런데 kotlin은 자바와는 조금 다른 정책을 가지고 있는데 코틀린은 try catch를 별로 안좋아한다. 자바에서는 Checked Exception이라고 하여 특정 코딩에서는 try catch를 해야하는 문법이 있다. Checked Exception 이라 하는데 예를 들어(Connection 연결 할 때 등) (Runtime Exception 은 반드시 안해줘도 x 실행 때 에러잡힘) 반면 타 언어들은 try catch 를 강제하는 경우가 극히 드물었는데 자바는 강제를 하였다. 좋은 점은 있었는데 단점은 예외가 나오는 상황을 catch 로 잡아서 처리하는 버릇이 생겨서?? 가독 성이 떨어진다는 단점이 생겼다는 것 같다. 그래서 코틀린은 Chec..
2020.06.25 -
[Kotlin][언어공부-8] Collection
Kotlin에서 Collections는 열거형 데이터를 관리하는 데 필수적인 클래스 집합이다. (List가 있는걸 보니 자바의 ArrayList 같은 걸 생각하면 되는 듯 하다.) 1. 읽기전용 List -> listOf. 항목의 데이터형을 혼합해도 됨 2. 수정가능 List -> mutableListOf 제너릭() 데이터형 반드시 선언.add,remove 등 메소드 3. Map은 hashMapOf(키 to 값,...) 형식 자바의 List개념과는 다르게 읽기 전용과 수정가능 리스트가 구분되는 듯 하다. 또한 map 선언이 특이한데 키 to 값 으로 선언하는건 처음 보는 형식이니 기억해 둘 필요가 있을것 같다. 1. listOf 읽기 전용 리스트다 . 읽기만 가능해서 추가 수정 삭제가 안된다. 그러면 선..
2020.06.23 -
[Kotlin][언어공부-7] label
Label 이라 하면 처음 접하는 것이라 어려울 수 있는데 c의 go to 문을 생각하면 된다. 타언어로 오면서 go to 문을 사용하면 복잡해져서 쓰지 말라는게 정책이였는데 함수형 언어로 가면서 label 정책이 거의 필수가 되어버렸다. 1. Return 할 때 반환 값이 있으면 호출된 함수로 이동 -> return 반환값2. Return@레이블 반환값 -> 해당 레이블로 값을 가지고 복귀함 -> 코드가 실행되는 곳이 이름 없는 함수(익명함수)거나 람다식으로 되어 있으면 이런식으로 사용함 3. break,continue -> 자바와 비슷 break는 반복문을 종료하고 나감 continue는 다음 라인을 무시하고 반복문 처음으로 감. 4. break@레이블,continue@레이블 -> break는 반복문..
2020.06.22 -
[Kotlin][언어공부-6] 제어문
제어문은 if, for등 을 의미한다. 코틀린에서 제어문은 1 기본적으로는 자바와 유사한데 Any타입, in 과 is 등이 쓰이며 자바보다 더 유연한 기능을 제공한다. 2 for 반복문은 python 과 유사하다 for(변수 in 배열 or 범위) { } 로 사용한다. 3 while 은 자바와 유사하게 while(조건) {} 로 사용한다. 4 case 문은 Any와 같이 사용되어 상당히 유연하다 when(변수) { 조건 -> 실행; } 형식으로 쓰인다. -> 자바의 switch(변수) case 문과는 형식이 달라서 조금 더 자세히 볼 필요가 있는데 switch case문이 기본적으로 간단하게 쓸때 사용했다면 코틀린은 Any형을 사용해서 더 여러가지 상황에서 활용 가능한것 같다. 5 if,case문의 결과..
2020.06.18 -
[Kotlin][언어공부-5] function
대부분의 프로그래밍 언어가 함수를 사용하는데 코틀린은 함수형 프로그래밍 언어라는 타이틀을 갖고 있어서 함수에 대한 권한 등이 더 강조된다. 코틀린의 함수선언은 자바스크립트의 function과 유사하다고 생각한다. 1. 선언방법 (자바의 함수선언과 코틀린의 함수선언) 코틀린 : fun 함수명 (변수명: 데이터형) : 리턴데이터형 { return; } fun main(args : Array) { } main 으로 함수 정의를 알아보자. fun 은 function의 약자이다. 이후 괄호 안에는 ( 변수명 : 데이터크기 ) 이 들어가고 리턴값은 괄호 뒤에 : String 등 과 같이 붙여서 표현한다. 위에 설명만 보면 기존에 알던 자바랑은 너무 달라서 헷갈릴 수 있는데, 자바와의 차이점을 한번 알아보도록하자 자..
2020.06.16 -
[Kotlin][언어공부-4] Any형
코틀린에서 Any형은 동적타입을 지원한다. 어떤 형을 대입시켜도 처리가능한 변수형 최종 대입된 값으로 형이 결정된다. null은 구분된다. null 허용은 ? 사용 코틀린의 변수 선언을 기억해보자. var a = 1 var b = "String" 위와 같이 값을 대입시나 선언할 때 데이터 타입이 결정된다. 코틀린에서 모든 형을 선언 가능하게 해준다는 Any를 들었을때 들은 생각은 자바의 Object 클래스 였다. https://opentutorials.org/module/516/6241 Object 클래스 - Java 상속 자바에서 상속이란 필수적이다. 여러분이 상속하건 하지 않았건 기본적인 상속을 하게 된다. package org.opentutorials.javatutorials.progenitor; ..
2020.06.10