본문 바로가기

코틀린9

[Kotlin] 제네릭(Generic) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 제네릭(Generic) : 클래스 내부에서 사용할 자료형을 인스턴스를 생성할 때 확정하는 것 자료형의 객체들을 다루는 메서드나 클래스에서 컴파일 시간에 자료형을 검색해 적당한 자료형을 선택할 수 있도록 함 → 객체 자료형의 안정성을 높이고, 형 변환의 번거로움이 줄어듦 제네릭의 사용 방법 앵글 브래킷() 사이에 형식 매개변수(하나 이상)를 넣어 선언 형식 매개변수 : 자료형을 대표하는 T와 같이 특정 영문의 대문자로 사용하며 나중에 필요한 자료형으로 대체됨 일종의 규칙처럼 사용되는 이름 (변경가능) E (Element), K(Key), N(Number), T(Type), V(Value), S(두번째), U(세번째), V(네번째)..... 2021. 5. 18.
[Kotlin] 다양한 클래스와 인터페이스 (3) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 연산자 오버로딩 연산자 오버로딩 → 다형성 오버로딩 : 동일한 클래스 안에서 같은 이름의 메서드가 매개변수만 달리해서 여러 번 정의되는 것 Kotlin 다형성의 오버라이딩, 오버로딩에 관련된 글 확인↑ in 코틀린, 특정 연산자의 역할을 함수로 정의하고 있음 → 일종의 협약(Convention) 연산자에는 일종의 우선순위(Precedence)를 가지고 있음 연산자의 작동 방식 연산자를 사용하는 것 == 관련된 멤버 메서드를 호출하는 것 코틀린 표준 라이브러리 Primitives.kt에 보면 operator 키워드를 사용해 plus() 함수가 다양한 자료형으로 선언되어 있음 +, - 와 같은 연산자는 기본적으로 많은 자료형을 처리하기 .. 2021. 5. 13.
[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] 클래스와 객체 (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.
728x90