Language/kotlin

개요코틀린에서는 객체 지향 프로그래밍과 함수형 프로그래밍 모두 지원하기 때문에,객체 지향 프로그래밍을 위한 다형성으로 오버라이딩과 오버라이딩이 있다. 오늘은 이것에 대해 정리해보려고 한다. 오버로딩(Overlaoding)오버로딩은 이름은 같지만 형태를 다르게 해서 메소드를 여러개 선언하는 것을 말한다. 코드로 예를 들자면,class Example(){ fun coding(language : String) : String{ return "$language" } fun coding(studyCount : Int) : Int{ return studyCount } fun coding(language : String, studyCount : In..
코루틴코루틴이 나오기 이전에 앱이나 웹에서 비동기 처리를 위해 rx programming을 많이 사용해왔다. 하지만 구글이 안드로이드 공식 언어를 코틀린으로 변경한 이후 코루틴에 대한 중요도가 높아졌고, 현재는 안드로이드에서 가장 많이 쓰이는 비동기 처리 기술이라고 개인적으로 생각한다. 코루틴은 스레드 안에서 실행되는 일시 중단 가능한 작업의 단위로 하나의 스레드에 여러 코루틴이 존재할 수 있다. 코루틴은 재개될 때마다 다른 스레드에서 실행될 수 있고, 또는 특정 스레드에서만 국한되어 사용될 수 있다. 코루틴은 '경량 쓰레드'라고도 불린다. 작업 하나하나를 효율적으로 분배해 쓰레드를 할당하는 것이 아닌 'Object'를 할당하고, 이 Object를 자유롭게 스위칭하며 기존에 스레드 변경할 때 발생했던 C..
스코프 함수코틀린의 표준 라이브러리에서 '스코프 함수'를 제공해준다.특정 객체의 컨텍스트 안에서 특정 동작(속성 초기화, 활용 등)을 실행하기 위한 목적만을 가진 함수 이 스코프 함수를 람다 함수로 사용할 때 스코프를 형성하게 되는데, 이 스코프 내에서 객체의 이름을 참조할 필요 없이 객체에 접근하고 핸들링하기 편하게끔 해준다. apply, run, with, also, let이 있다. data class Member(val name; String, var age : Int)applyinline fun T.apply(block : T.() -> Unit): T { block() return this } 객체를 새로 생성하고 특정 변수에 할당하기 전에 초기화 작업을 하는 스코프를 만든다. ..
인트로추상 클래스는 대략적인 설계의 명세와 공통의 기능을 구현한 클래스로 즉, 구체적이지 않다. 추상 클래스를 상속하는 하위 클래스는 추상 클래스의 내용을 더 구체화 해야한다. 인터페이스 역시 대략적인 설계 명세를 구현하고 인터페이스를 상속하는 하위 클래스에서 이를 구체화 하는 것은 동일하다! 그러나 인터페이스에서는 프로퍼티의 상태 정보를 저장할 수 없다. → 초기화가 불가능interface Vehicle { val name : String val color : String val weight : Double}interface Animal{ val type : String= "dog"} -> 이게 안됨!! 프로퍼티 상태 정보를 저장할 수 없으니까추상 클래스(abstract class)구체화되지 않은 클래..
알파카임
'Language/kotlin' 카테고리의 글 목록 (3 Page)