본문 바로가기
모바일/Kotlin

[Kotlin] 클래스(Class) 실습 은행 계좌 만들기

by drCode 2021. 4. 9.
728x90
반응형

안녕하세요.

 

이번 포스팅은 코틀린 클래스를 이용하여 은행 계좌를 만드는 실습을 해보겠습니다.

 

(1) 일반형

class Account {

    val name : String
    val birth : String
    var balance : Int

    constructor(name : String,  birth : String,  balance : Int) {
        this.name = name
        this.birth = birth
        if(balance >= 0) {
            this.balance = balance
        } else {
            this.balance = 0
        }
    }

    fun checkBalance() : Int {
        return  balance
    }

    fun withdraw(amount : Int) : Boolean {
        if(balance >= amount) {
            balance -= amount
            return true
        } else {
            return false
        }
    }

    fun save(amount: Int) {
        balance += amount
    }
}

 

(2) 계좌 잔액 디폴트형

class Account2(val name : String, val birth: String, var balance: Int = 1000) {
    fun checkBalance() : Int {
        return  balance
    }

    fun withdraw(amount : Int) : Boolean {
        if(balance >= amount) {
            balance -= amount
            return true
        } else {
            return false
        }
    }

    fun save(amount: Int) {
        balance += amount
    }
}

 

(3) 계좌 생성 시, 초기 금액이 음수값이어도 0원이 될 수 있게 if문으로 값을 받을 수 있습니다.

class Account3(initialBalance : Int) {

    val balance : Int = if(initialBalance >= 0) initialBalance else 0

    fun checkBalance() : Int {
        return  balance
    }
}

 

fun main(args: Array<String>)

fun main(args: Array<String>) {
    val account : Account = Account("홍길동", "1990/3/1", 1000)
    println(account.checkBalance())
    println(account.save(1000))
    println(account.withdraw(2000))
    println(account.checkBalance())

    println()
    val account2 : Account = Account("홍길동", "1990/3/1", -2000)
    println(account2.checkBalance())

    println()
    val account3 : Account2 = Account2("홍길동", "1990/3/1", 4000)
    println(account3.checkBalance())
}

 

728x90
반응형

댓글