본문 바로가기

전체 글36

[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.
[Do it! 코틀린 프로그래밍] 3. 함수와 함수형 프로그래밍 3. 함수와 함수형 프로그래밍 1. 함수 선언하고 호출하기 함수는 인자를 입력받아 기능을 수행하고 결과값 인자를 입력받아 기능을 수행하고 결괏값을 반환하는 코드의 모음이다. 함수가 호출되면 프레임(Frame)이라는 정보로 스택(Stack) 메모리의 높은 주소부터 낮은 주소로 할당한다. 함수가 종료되면 스택 프레임은 소멸되고 결괏값을 반환한다. 함수의 구조 /* 대괄호([])로 감싼 내용은 생략 가능 */ fun 함수 이름([매개변수 이름: 자료형, 매개변수 이름: 자료형..]): [반환값의 자료형] { 표현식... [return 반환값] } 반환값이 없는 함수: 반환값의 자료형을 Unit으로 지정한다. 생략시 반환값의 자료형을 Unit으로 추론한다. fun 함수 이름([매개변수 이름: 자료형, 매개변수 .. 2021. 4. 3.