[태그:] 코틀린

  • 코틀린 멀티플랫폼(KMP)으로 앱과 웹을 동시에 개발하기

    코틀린 멀티플랫폼(KMP)으로 앱과 웹을 동시에 개발하기 요약:Kotlin Multiplatform(KMP)은 하나의 코드베이스로 Android, iOS, Web, Desktop을 동시에 개발할 수 있는 기술이다.이 글에서는 실제 예제와 함께 KMP 구조, 장점, 주의점을 살펴본다. 1. KMP란 무엇인가 KMP는 Kotlin 언어의 확장 개념으로,공유 모듈(commonMain)에서 비즈니스 로직을 작성하고플랫폼별 모듈(androidMain, iosMain, webMain)에서 UI를 구현한다. 2. KMP 기본 구조 project/ ├─ shared/ │ ├─ src/commonMain…

  • 코틀린 인터페이스

    코틀린 인터페이스(Interface) 완벽 정리 인터페이스는 클래스의 청사진(규약) 역할을 한다.즉, 어떤 기능을 반드시 구현하도록 강제하면서도,여러 클래스에 공통된 기능을 부여할 수 있다. 기본 문법 interface Clickable { fun click() } class Button : Clickable { override fun click() { println(“버튼 클릭됨”) } } 인터페이스는 다중 구현 가능 코틀린 클래스는 다중 상속이 불가능하지만,여러 인터페이스를 동시에 구현할 수 있다.…

  • 코틀린 클래스와 상속

    코틀린 클래스와 상속(Inheritance) 완벽 정리 코틀린의 클래스는 기본적으로 상속이 금지되어 있다.상속을 허용하려면 open 키워드를 명시해야 하며,이를 통해 부모 클래스의 속성과 메서드를 재사용할 수 있다. 기본 클래스 선언 class Person(val name: String, val age: Int) 기본적으로 코틀린 클래스는 final이므로 상속이 불가능하다. open class Animal { fun eat() { println(“먹는 중…”) } } 상속하기 클래스를 상속하려면 :…

  • 코틀린 데이터 클래스와 객체 복사

    데이터 클래스(Data Class)와 객체 복사(copy) 데이터 클래스는 데이터를 저장하고 전달하는 용도로 최적화된 클래스이다.코틀린에서는 data 키워드 하나로 자동으로 여러 편의 기능을 제공한다. 데이터 클래스 기본 선언 data class User(val name: String, val age: Int) 이 한 줄로 아래 기능들이 자동 생성된다. toString() equals() / hashCode() copy() componentN() (구조 분해 선언) 데이터 클래스의 주요 특징 항목 설명…

  • 코틀린 객체와 동반 객체

    코틀린 객체(Object)와 동반 객체(Companion Object) 코틀린의 object는 싱글톤 객체를 쉽게 생성할 수 있게 해준다.또한 companion object를 사용하면 자바의 static 멤버처럼 클래스 내부에서 공유 데이터를 다룰 수 있다. object 기본 개념 object는 프로그램 전체에서 단 하나의 인스턴스만 존재하는 객체를 정의한다.즉, 별도의 new 생성 없이 바로 사용할 수 있다. object Logger { fun log(message: String) { println(“로그:…

  • 코틀린 상속과 인터페이스

    상속과 인터페이스 코틀린은 객체지향 언어답게 상속과 인터페이스를 통한 코드 재사용과 확장이 매우 강력하다.이 글에서는 클래스 상속, 인터페이스 다중 구현, 오버라이딩, super 키워드 활용법까지 모두 다룬다. 클래스 상속 기본 구조 코틀린의 클래스는 기본적으로 final이다.즉, 상속을 허용하려면 반드시 open 키워드를 붙여야 한다. open class Parent { open fun greet() { println(“부모 클래스 인사”) } }class Child :…

  • 코틀린 클래스

    코틀린 클래스 완벽 정리 코틀린에서 클래스는 객체지향 프로그래밍의 핵심 단위로,속성과 동작(함수)을 하나로 묶어 표현한다.class 키워드를 사용하며, 상속·캡슐화·생성자 등을 직관적으로 다룰 수 있다. 클래스 기본 구조 class 클래스이름 { // 속성(Property) // 메서드(Method) } 예시 class Person { var name: String = “” var age: Int = 0fun introduce() { println(“안녕하세요, 제 이름은 $name이고 나이는 $age살입니다.”)…

  • 코틀린 반복문

    코틀린 반복문 완벽 정리 코틀린에서는 반복문을 이용해 같은 동작을 여러 번 수행할 수 있다.대표적인 반복문으로는 for, while, do-while이 있다. for 문 기본 구조 for 문은 반복 가능한 객체(컬렉션, 범위, 배열 등)를 순회할 때 사용한다. for (item in 컬렉션) { // 실행할 코드 } 예시 val numbers = listOf(1, 2, 3, 4, 5) for (num in…

  • 코틀린 함수

    코틀린 함수 완벽 정리 코틀린의 함수는 코드 재사용성을 높이고 프로그램을 구조적으로 관리할 수 있게 해준다.fun 키워드를 사용하며, 매개변수와 반환값을 명확하게 정의할 수 있다. 함수 기본 구조 fun 함수이름(매개변수: 타입): 반환타입 { // 실행할 코드 return 반환값 } 예시 fun add(a: Int, b: Int): Int { return a + b } 반환값이 없는 함수 (Unit) 반환값이…

  • 코틀린 조건문

    코틀린에서는 조건문을 통해 프로그램의 흐름을 제어할 수 있다.대표적인 조건문으로는 if, else if, else, when이 있다. if 문 기본 구조 if (조건식) { // 조건이 참일 때 실행되는 코드 } 예시 val score = 90 if (score >= 90) { println(“A 학점”) } if-else 문 if 조건이 거짓일 때 실행할 코드를 else 블록에 작성한다. if (조건식)…

  • 코틀린 문법

    안드로이드 앱 개발에서 바로 활용할 수 있는 코틀린 실전 문법을 정리했습니다.기초 문법을 넘어, 실무에서 자주 쓰이는 코드 위주로 구성되어 있습니다. View Binding (뷰바인딩) XML 레이아웃과 코틀린 코드를 안전하게 연결하기 위한 기능입니다. build.gradle 설정 android { buildFeatures { viewBinding true } } 사용 예시 class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun…