클래스
package Kotlin
fun main(array: Array<String>){
Car("v8 engine","big")
val number : Int =10
val bigCar = Car("v8 engine","big")
val bigCar2 : Car = Car("v8 engine","big")
val SuperCar : SuperCar = SuperCar("good engine", "big", "white")
val runableCar : RunableCar = RunableCar("Simple engine", "short body")
runableCar.ride()
runableCar.navi("부산")
runableCar.drive()
val runableCar2 : RunableCar2 = RunableCar2("nice engine","long body")
println(runableCar2.body)
println(runableCar2.engine)
val testClass : TestClass = TestClass()
testClass.test(3)
testClass.test(3,5)
}
class Car(var engine : String, var body: String){
}
class SuperCar{
var engine : String
var body : String
var door : String
constructor(engine: String, body: String, door: String){
this.engine = engine
this.body= body
this.door = door
}
}
class Car1(engine: String, body: String){
var door : String =""
constructor(engine: String, body: String, door: String):this(engine, body){
this.door=door
}
}
class Car2{
var engine: String = ""
var body : String = ""
var door : String = ""
constructor(engine: String, body: String){
this.engine=engine
this.body=body
}
constructor(engine: String, body: String, door: String){
this.engine=engine
this.body=body
this.door=door
}
}
class RunableCar(engine: String, body: String){
fun ride(){
println("탑승하였습니다.")
}
fun drive(){
println("달립니다")
}
fun navi(destination: String){
println("$destination 으로 목적지가 설정되었습니다")
}
}
class RunableCar2{
var engine : String
var body : String
constructor(engine: String, body: String){
this.engine=engine
this.body=body
}
init {
println("RunableCar2가 만들어졌습니다.")
}
fun ride(){
println("탑승하였습니다.")
}
fun drive(){
println("달립니다")
}
fun navi(destination: String){
println("$destination 으로 목적지가 설정되었습니다")
}
}
class TestClass(){
fun test(a: Int){
println("UP")
}
fun test(a: Int, b: Int){
println("down")
}
}
class TV2(val channels: List<String>) {
var onOrOff: Boolean = false
var currentChannelNumber = 0
set(value) {
field = value
if (field > 2) {
field = 0
}
if (field < 0) {
field = 2
}
}
get() {
println("출력되었습니다.")
return field
}
fun switch() {
onOrOff = !onOrOff
}
fun checkCurrentChannel(): String {
return channels[currentChannelNumber]
}
fun channelUp() {
currentChannelNumber += 1
}
fun channelDown() {
currentChannelNumber -= 1
}
}
class Calculator2() {
fun plus(vararg numbers: Int): Int {
var result: Int = 0
numbers.forEach {
result += it
}
return result
}
fun minus(vararg numbers: Int): Int {
var result: Int = numbers[0]
for (i in 0 until numbers.size) {
if (i != 0) {
result = result - numbers[i]
}
}
return result
}
fun multiple(vararg numbers: Int): Int {
var result: Int = 1
numbers.forEach {
result = result * it
}
return result
}
fun divide(vararg numbers: Int): Int {
var result: Int = numbers[0]
numbers.forEachIndexed { index, i ->
if (index != 0 && i != 0) {
result = result / i
}
}
return result
}
}
class Calculator3(val initialValue: Int) {
fun plus(number: Int): Calculator3 {
val result = this.initialValue + number
return Calculator3(result)
}
fun minus(number: Int): Calculator3 {
val result = this.initialValue - number
return Calculator3(result)
}
fun multiple(number: Int): Calculator3 {
val result = this.initialValue * number
return Calculator3(result)
}
fun divide(number: Int): Calculator3 {
val result = this.initialValue / number
return Calculator3(result)
}
}
class Bank {
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
}
}
class Bank2(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
}
}
class Bank3(initialBalance: Int) {
var balance: Int = if (initialBalance >= 0) initialBalance else 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
}
}