- 시작하며 - 프로젝트를 하다 보면 예전에 만들었던 코드들과 현재코드를 비교했을 때 통일성이 없을 때가 많습니다. 대부분 그 이유는 변수나 함수를 만들 때 따로 규칙 없이 생각나는 대로 이름을 정한다든가 비슷한 규칙을 다르게 표현하면 코드가 통일성이 없고 이해하기도 힘들어지니 유지보수하기도 어려워집니다. 이런 통일성 없는 코드들을 예방하기 위해서는 클린코드 규칙을 정하고 그 규칙을 따르며 코드들을 짜야합니다. - 본문 - Java 같은경우 클린코드규칙들을 정리한 Effective Java라는 책이 있습니다. Java를 바탕으로 나온 Kotlin 또한 Effectiv Kotlin이라는 클린코드규칙들을 정리한 책이 있습니다. 이 책 같은 경우 안전성, 가독성등 52가지 주제를 가지고 클린코드를 짜기 위한 ..
토스트(toast)는 화면 아래쪽에 잠깐 보였다가 사라지는 문자열 다이얼로그를 말합니다. Added in API level 1이기 때문에 따로 호완성을 걱정할 필요는 없습니다만 토스트의 몇몇 함수 들은 Deprecated in API level 30 되었기 때문에 사용 시 주의가 필요합니다. 평상시 토스트는 다른 언어의 alert나 Log, print함수같이 변수나 상황 등을 출력하고 싶을 때 안드로이드 환경에서 사용할 수 있습니다. 토스트는 android.widget.Toast안에있어 사용 시 임포트 해줘야 합니다. 토스트는 Toast의 함수인 makeText() 함수로 만듭니다. 자바(Java) ver // 토스트 메시지 표시 Context context = getApplicationContext()..
클래스와 생성자 class Data{ // 선언부 //본문 내용이 업다면 생략가능 } fun main(){ val data = Data() data.함수() } 클래스의 멤버는 생성자, 변수, 함수, 클래스로 구성됩니다. 코틀린에서 객체를 생성할 때 new키워드를 사용하지 않습니다. 코틀린에서는 생성자를 주생성자와 보조 생성자로 구분합니다. 한 클래스에서 주 생성자만으로도 보조 생성자만으로도 또는 둘 다 선언할 수 있습니다. 코틀린의 생성자는 constructor키워드로 선언하는 함수입니다. 주 생성자 class Data constructor(name:String){ } 위코드는 주 생성자를 선언하는 코드입니다. 주 생성자는 한 클래스에 하나만 존재할 수 있습니다. 주 생성자 constructor 키워드..
조건문 if~else 표현식 다른 언어와 비슷하다 그렇지만 코틀린의 if문은 표현식으로도 사용할 수 있다는 것이 특이합니다 표현식은 결괏값을 반화하는 계산식을 말합니다. fun main(){ var data = 10 var result = if(data>0){ println("data > 0") true// 반환값 } else{ //생략불가 print("data
함수 선언하기 fun 함수명(매개변수명: 타입): 반환타입{ 코드 } 함수의 매개변수(parameter)는 val이 자동으로 적용되며 매개 변숫값을 변경할 수 없음 매개변수에는 기본값을 선언할 수 있습니다. 기본값으로 정해진 값들은 호출시 인자를 전달하지 않아도 되며 인자 전달 방식은 매개변수를 순서대로 할당하는 방법과 매개변수명을 지정하여 호출하는 방법이 있습니다. fun main(){ fun add(data1 : Int, data2 : Int = 10) : Int { //오류 -> data1 = 20 return data1 + data2 } println(add(10))//20 println(add(10,20))//30 println(add(data1=10))//20 println(add(data2=..
코틀린 => 자바의 가상 머신인 JVM에 기반을 둔 언어. 즉, JVM에서 실행할 수 있습니다. 자바의 확장자 => .java 코틀린의 확장자 =>. kt 확장자는 달라도. kt파일을 컴파일하면 자바 바이트 코드가 만들어집니다. 즉 JVM이 실행함 코틀린의 이점 표현력과 간결함(expressive and concise) 최신 언어 기법을 이용하면 훨씬 간결하게 프로그램을 작성할 수 있습니다. 자바 코드와 비교해보면 코틀리 코드가 훨씬 간결하다 안전한 코드(safer code) 널(null) 안정성을 지원, 객체지향 프로그래밍에서 객체가 널 상태일수 있으며 널 포인트 예외가 발생할 수 있음. 그래서 널 일 때를 고려하여 개발하여야 하지만 코틀린에서는 널 허용 널 불허용으로 구분하여 선언 따라서 널 관련된 ..