본문 바로가기

Android (Kotlin)30

[Hotel Reservation] 호텔 예약 프로그램 lv.3.0 lv3 1. 메뉴에서 5번을 눌러 조회할 사용자 이름을 입력 받아봐요 2. 조회가 불가능한 사용자 이름을 입력하면 "예약된 사용자를 찾을 수 없습니다." 가 출력돼요 3. 출력이 가능하면 입금, 출금, 내역을 확인할 수 있어요. 수정된 부분 인터페이스를 처음으로 사용해 보았다. 사용하다보니까 abstract랑 인터페이스의 용도 차이를 잘 모르겠어서 추가적으로 공부해 주었다. interface가 내 상황에는 더 적합해 보여서 interface로 코드를 수정해 주었다. 주석 추가해서 가독성이 높아졌다! 클래스랑 인터페이스 부분을 나누어 주었다! lv3 부분을 완성하려 보니 lv1에서 내가 대충 읽고 넘어가서 구현하지 않은 부분이 있었다. 예약 목록을 받을 때 랜덤한 입출금 가격을 받아오는 부분이었다. dat.. 2023. 12. 3.
[Kotlin] abstract vs interface 출처: https://stackoverflow.com/questions/45616548/kotlin-why-use-abstract-classes-vs-interfaces 차이점 abstract 클래스는 상태 즉 데이터 값을 가질 수 있다. 따라서 abstract 클래스는 interface에 반해 생성자, init 블록, field/ property를 가질 수 있다. 클래스는 abstract 클래스 1개만 implement(구현/상속?) 가능하다. 클래스는 여러개의 interface를 implement할 수 있다. 따라서 abstract 클래스는 상태를 구현할 수 있고 interface는 행동을 구현할 수 있다? 오잉.. 근데 아래 링크에 너무 잘 설명 되어 있다.. 유레카 https://velog.io/.. 2023. 12. 3.
[Hotel Reservation] 호텔 예약 프로그램 lv.2.1 수정된 부분 데이터 클래스 사용법 공부 후 적용해 보았다.! (https://occhiolism.tistory.com/43) sortBy 추가 공부하고 적용했다. (https://occhiolism.tistory.com/30) 느낀점 대충 이해하고 넘기면 적용할 때 시간소요가 상당히 많이 되는 것 같다. 한번 공부할 때 예제 여러개 확인 하고 규칙이랑 활용방법을 제대로 익히면 시간은 조금 걸려도 장기전으로 봤을 때에는 시간은 절약하는 방법인 것 같다! 응용 코드가 작동이 안돼니까 답답해서 어제 데이터 클래스든 sortBy 공부하기 너무 싫었는데 차근차근 천천히 보고 이해하고 적용하니까 기분이 너무 좋다 :) package com.example.hotelreservationprogramme fun main.. 2023. 12. 3.
[Kotlin] Data Class Syntax data class CLassName( val data1: String, val data2: Int) 조건 주 생성자에 매개변수가 1개 이상 있어야 한다. 주 생성자의 매개변수가 val 또는 var이어야 한다. 데이터 클래스는 abstract, slealed, open이 될 수 없다. 다른 클래스 확장이 가능하고 인터페이스 적용 가능하다. 데이터 클래스에 들어있는 함수 toString() 객체의 데이터를 출력하기 위해 알아서 문자열로 바꾸어준다. 예를들어 데이터 클래스 가 아래와 같이 정의 되면 data class Cell(var name: String, var roll: Int) fun main() { val p = Cell("Euny", 21) println(p) } 위 클래스가 실행되면.. 2023. 12. 3.