본문 바로가기

Do it! 코틀린 프로그래밍12

[Do it! 코틀린 프로그래밍] 7. 다양한 클래스와 인터페이스 7. 다양한 클래스와 인터페이스 1. 추상 클래스와 인터페이스 추상 클래스(Abstract Class) 선언 등의 대략적인 설계 명세와 공통의 기능을 구현한 클래스다. 추상 클래스를 상속하는 하위 클래스는 내용을 더 구체화해야 한다. 코틀린에서 추상 클래스의 정의는 abstract 키워드를 사용한다. 기본적으로 상속과 오버라이딩을 허용하기 때문에 open 키워드를 사용할 필요가 없다. /* 추상 클래스 Vehicle 사용 */ abstract class Vehicle(val name: String, val color: String, val weight: Double) { // Abstrect Property - 반드시 하위 클래스에서 재정의하여 초기화해야함 abstract var maxSpeed: Dou.. 2021. 4. 19.
[Do it! 코틀린 프로그래밍] 6. 프로퍼티와 초기화 6. 프로퍼티와 초기화 1. 프로퍼티의 접근 코틀린에서는 별도로 접근 메서드(Getter(), Setter())를 지정하지 않아도 자동으로 처리해주기 때문에 코드의 양을 줄일 수 있다. /* User.kt */ class User(val id: Int, var name: String, var age: Int) /* User.decompiled.java */ public final class User { private final int id; @NotNull private String name; private int age; public final int getId() { return this.id; } @NotNull public final String getName() { return this.name.. 2021. 4. 14.
[Do it! 코틀린 프로그래밍] 5. 클래스와 객체 5. 클래스와 객체 1. 클래스와 객체의 정의 객체지향 프로그래밍(OOP: Object-Oriented Programming) 은 프로그램의 구조를 객체 간 상호작용으로서 표현하는 프로그래밍 방식이다. 객체 지향 기법으로 프로그램을 설계할 때 알아 두어야할 개념은 다음과 같다. 추상화(Abstraction): 특정 클래스를 만들 때 기본 형식을 규정하는 방법 인스턴스(Instance): 클래스로부터 생성한 객체 상속(Inheritance): 부모 클래스의 내용을 자식 클래스가 그대로 물려받음 다형성(Polymorphism): 하나의 이름으로 다양한 처리를 제공 캡슐화(Encapsulation): 내용을 숨기고 필요한 부분만 사용 메시지 전송(Message Sending): 객체 간에 주고받는 메시지 연관.. 2021. 4. 10.
[Do it! 코틀린 프로그래밍] 4. 프로그램의 흐름 제어 4. 프로그램의 흐름 제어 1. 조건문 조건문은 주어진 조건에 따라 다른 결과를 반환하는 코드이다. 코틀린에서는 제어문들을 간략하게 사용할 수 있는 표현이 많다. if문과 if~else문 /* 구조 */ if (조건식) { 수행할 문장 // 조건식이 true인 경우에만 수행 } else { 수행할 문장 // 조건식이 false인 경우에 수행 } var max: Int if (a > b) { max = a } else { max = b } /* 위 조건문을 간략화한 표현식 */ val max = if (a > b) a else b else if문으로 조건문 중첩하기 val score = readLine()?.toDouble() ?: 0.0 var grade: Char = 'F' if (sco.. 2021. 4. 5.