Functions
Kotlin의 함수는 다음와 같이 정의되고 사용할 수 있다.
fun main() {
//call Function
makeCoffe()
}
// Define Function
fun makeCoffe(){
println("Buy beans")
println("grind Beans")
}
Parameters
함수는 다음의 방식으로 파라미터를 가질 수 있다
fun main() {
//call Function
makeCoffe(1)
makeCoffe(2)
makeCoffe(3)
}
// Define Function
fun makeCoffe(sugerCount : Int){
println("Coffe with $sugerCount spoon")
}
//other Parameter
fun main() {
println("Who is this coffe for?")
val name = readln()
println("How many pieces of sugar?")
val sugarCount = readln().toInt()
//call Function
makeCoffe(sugarCount,name)
}
// Define Function
fun makeCoffe(sugerCount : Int, name:String){
if(sugerCount == 1) {
println("Coffee with $sugerCount spoon for $name")
}
else {
println("Coffe with $sugerCount for $name")
}
}
그리고 다음과 같이 함수의 값을 return할 수 있다
fun main() {
println("Enter Number 1")
val num1Str = readln()
val num1Int = num1Str.toInt()
println("Enter Number 2")
val num2Str = readln()
val num2Int = num2Str.toInt()
val myResult = add(num1Int,num2Int)
println(myResult)
}
//Return Funtion
fun add(num1:Int,num2:Int):Int {
val result = num1+num2
return result
}
//different type
fun divide(num1: Int,num2: Int):Double {
val result = num1/num2.toDouble()
return result
}
Classes
클래스란?
객체를 생성하기 위한 설계도 또는 틀
클래스는 객체의 속성과 동작을 정의하며 이를 통해 유사한 객체들을 쉽게 생성하고 관리할 수 있다
즉, 클래스는 객체의 청사진이다
그리고 class를 생성하기 위해선 initializer가 있어야 한다
initializer는 객체가 생성될때 실행되는 코드이다
package com.example.kotlinbasics
class Dog {
init {
bark()
}
fun bark(){
println("bark! bark!")
}
}
Class Dog 이라는 class를 정의하고
fun main() {
// Creating an object/instance of the class Dog
var Daisy = Dog()
}
이를 Daisy라는 변수에 Dog Class로 만들어진 object가 할당되게 된다
property
이는 객체의 속성이며 다음과 같이 표현할 수 있다
package com.example.kotlinbasics
class Dog (val name:String, val breed: String) {
init {
bark()
}
fun bark(){
println("bark! bark!")
}
}
fun main() {
// Creating an object/instance of the class Dog
var Daisy = Dog("Daisy","poodle")
println("${Daisy.name} is a ${Daisy.breed}")
}
다음과 같이 Dog Class에 속성을 부여하고, 이를 접근이 가능하다
Data classes
데이터 클래스는 주로 데이터를 저장하는 데 사용된다
각 데이터 클래스에 대해 컴파일러는 인스턴스를 읽을 수 있는 출력으로 출력하고, 인스턴스를 비교하고, 인스턴스를 복사하는 등의 작업을 수행할 수 있는 추가 멤버 함수를 자동으로 생성한다
//define data class
data class CoffeDetails(
val sugerCount: Int,
val name: String,
val size : String,
val creamAmount : Int
)
fun main() {
val coffeeForDenis = CoffeDetails(0,"denis","xxl",0)
makeCoffe(coffeeForDenis)
}
// Define Function
fun makeCoffe(CoffeDetails: CoffeDetails){
if(CoffeDetails.sugerCount == 1) {
println("Coffee with ${CoffeDetails.sugerCount} spoon for ${CoffeDetails.name}")
}
else {
println("Coffe with ${CoffeDetails.sugerCount} for ${CoffeDetails.name}")
}
}
다음과 같이 dataclass에서 속성을 정의하고, 이 dataclass를 instance로 사용한뒤 함수의 매게변수로 사용할 수 있다
'공부일지 > Kotlin' 카테고리의 다른 글
| [Kotlin] 4일차(2) - 간단한 은행 프로그램 (1) | 2025.08.01 |
|---|---|
| [Kotlin] 4일차(1) - 리스트와 객체 (0) | 2025.07.31 |
| [Kotlin] 2일차 - 가위바위보 게임 만들기 (4) | 2025.07.25 |
| [Kotlin] 2일차 - 코틀린의 기초 (2) | 2025.07.25 |
| [Kotlin] 1일차 - 모든 것 설정하기 (0) | 2025.07.24 |