본문 바로가기
반응형

Kotlin/Kotlin 프로그래밍24

[Kotlin] 다양한 클래스와 인터페이스 (2) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 데이터 클래스 특정 동작을 가지지 않고 오로지 데이터 저장을 위해 사용한다면 일반적인 클래스가 가지는 구현부가 필요 없음 → 자원의 낭비를 막고자 오로지 데이터 저장에 초점을 맞춘 데이터 클래스 제공 데이터 전달을 위한 데이터 클래스 DTO(Data Transfer Object) : 데이터 전달을 위한 객체 POJO(Plain Old Java Object) : 자바에서 부르는 데이터 전달을 위한 객체 DTO는 구현 로직을 가지고 있지 않고 순수한 데이터 객체를 표현함 속성과 속성을 접근하고자 하는 getter/setter를 가짐 추가적으로 toString(), equals() 등과 같은 데이터를 표현하거나 비교하는 메서드를 가짐 DT.. 2021. 5. 10.
[Kotlin] 다양한 클래스와 인터페이스 (1) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 추상 클래스와 인터페이스 추상 : 구체적이지 않은 것 ▶ 추상 클래스와 인터페이스 모두 대략적인 설계 명세를 가지고 몇 가지 기본적인 부분은 구현할 수 있으나, 하위에서 더 자세히 구현해야 함. 추상 클래스 abstract 키워드와 함께 선언 일반적인 객체를 생성하는 방법으로 인스턴스화 X 프로퍼티에 상태 정보 저장 가능 abstract class Vehicle(val name: String, val color: String, val weight: Double) { abstract var maxSpeed: Double // 추상 프로퍼티 var year = "2018" // 일반 프로퍼티 // 추상 메서드 abstract fun st.. 2021. 4. 21.
[Kotlin] 프로퍼티와 초기화 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 프로퍼티의 접근 코틀린에서 Getter/Setter가 작동하는 방식 * 자바에서는 각 필드에 접근하기 위해서 접근 메서드 Getter/Setter(접근자)를 만들어야 함 → 무결성, 보안 문제 * 자바에서 필드가 늘어나면 접근 메서드도 많아지게 되기 때문에 코드를 읽기 어려워짐 코틀린에서 클래스의 변수를 필드가 아닌 프로퍼티라고 부르는 이유? class User(_id: Int, _name: String, _age: Int) { // User(val id: Int, var name: String, var age: Int) val id: Int = _id var name: String = _name var age: Int = _age .. 2021. 4. 20.
[Kotlin] 클래스와 객체 (2) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. super과 this의 참조 상위 클래스는 super, 현재 클래스는 this로 참조 super로 상위 객체 참조 open class Bird(var name: String, var wing: Int, var beak: String, var color: String) { fun fly() = println("Fly wing: $wing") open fun sing(vol: Int) = println("Sing vol: $vol") } class Parrot : Bird { val language: String constructor(name: String, wing: Int, beak: String, color: String, lang.. 2021. 4. 19.
[Kotlin] 클래스와 객체 (1) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 객체 지향 프로그래밍(OOP: Object-Oriented Programming) : 프로그램의 구조를 객체 간 상호작용으로 표현한 프로그래밍 방식 ↔ 절차적 프로그래밍(Procedual Programming) : 코딩한 순서대로 프로그래밍 수행될 수 있도록 작성하는 프로그래밍 방식 * 연속적인 코드의 순소에 따라 작동하기 때문에 단순하고 오류를 예측하기 쉽지만 구조적이지 못해 프로그램 설계가 어려움 추상화 (Abstraction) : 특정 클래스를 만들 때 기본 형식을 규정하는 방법 인스턴스 (Instance) : 클래스로부터 생성한 객체 상속 (Inheritance) : 부모 클래스의 내용을 자식 클래스가 그대로 물려받음 다형성 .. 2021. 4. 16.
[Kotlin] 프로그램의 흐름 제어 : 조건문, 반복문, 예외처리 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 조건문 if 문과 if~else 문 if (조건식) { 수행할 문장 // 조건식이 true인 경우에만 실행 ... } if (조건식) { 수행할 문장 // 조건식이 true인 경우 } else { 수행할 문장 // 조건식이 false인 경우 } 수행할 문장이 하나인 경우, 블록 구문인 중괄호 생략 가능 조건문을 한 줄에 구성할 때, 조건식에 따라 값을 할당하도록 변수 이름 단독으로 쓸 수 있음 블록의 표현식이 길어질 때, 람다식처럼 블록의 마지막 표현식이 변수에 반환되어 할당됨 else if 문 ; 조건문 중첩 val number = 0 val result = if (number > 0) "양수 값" else if (number < .. 2021. 4. 14.
반응형