앱, 어플리케이션 만드는 법 - [Kotlin] 메소드, 메서드(Method) 개념
#주의#
이 글은 강의 글이 아닙니다.
틀린 부분, 깔끔하지 못한 부분 있을 수 있습니다.
지적해 주시면 저도 공부가 되고, 앞으로 이 글을 보실 분들에게도 도움이 될 거라 생각합니다.
메소드, 메서드(Method)란?
Kotlin에서 Method는 객체의 동작을 구현하는 함수입니다. 즉, Method는 Class 내부에 정의된 함수를 말합니다. Kotlin에서는 Java와 마찬가지로, Class 내부에 Method를 정의합니다.Method는 객체 내에서 호출되며, 객체의 상태에 따라 다른 결과를 반환할 수 있습니다. Kotlin에서 Method는 다음과 같은 기능을 제공합니다.
Method 선언
Kotlin에서 Method를 선언하는 방법은 다음과 같습니다.
fun methodName(parameters: ParameterType): ReturnType {
// Method 내용
return returnValue
}
위와 같이 fun 키워드를 사용하여 Method 이름을 선언하고, 괄호 안에 매개변수와 매개변수의 타입을 선언합니다. Method 내용은 중괄호 안에 작성하며, 반환값은 return 키워드를 사용하여 지정합니다.
매개변수
Kotlin에서 Method의 매개변수는 다음과 같이 선언합니다.
fun methodName(param1: ParamType1, param2: ParamType2) {
// Method 내용
}
위와 같이 Method 이름 뒤에 괄호 안에 매개변수를 콤마(,)로 구분하여 선언합니다.
변환값
Kotlin에서 Method의 반환값은 다음과 같이 선언합니다.
fun methodName(): ReturnType {
// Method 내용
return returnValue
}
위와 같이 Method 이름 뒤에 반환값의 타입을 선언하고, Method 내용에서 return 키워드를 사용하여 반환값을 지정합니다.
객체 상태
Kotlin에서 Method는 객체의 상태를 참조할 수 있습니다.
class MyClass {
var value: Int = 0
fun myMethod() {
// 객체 상태 참조
value++
}
}
위와 같이 클래스 내부에서 선언된 변수를 Method에서 참조할 수 있습니다.
Method 오버로딩
Kotlin에서 Method는 오버로딩을 지원합니다. 오버로딩은 같은 이름의 Method를 다른 매개변수로 여러 개 선언하는 것입니다.
class MyClass {
fun myMethod(param: ParamType) {
// Method 내용
}
fun myMethod(param1: ParamType1, param2: ParamType2) {
// Method 내용
}
}
위와 같이 같은 이름의 Method를 다른 매개변수로 여러 개 선언할 수 있습니다.
Method 접근 제한자
Kotlin에서 Method는 접근 제한자를 지원합니다. 접근 제한자는 Method의 접근 범위를 제한하는 역할을 합니다.
class MyClass {
private fun myPrivateMethod() {
// Method 내용
}
fun myPublicMethod() {
// Method 내용
myPrivateMethod()
}
}
위와 같이 private 키워드를 사용하여 Method의 접근 범위를 클래스 내부로 제한할 수 있습니다.
확장 함수
Kotlin에서 Method는 확장 함수를 지원합니다. 확장 함수는 기존 클래스에 새로운 Method를 추가하는 기능입니다.
fun String.myExtensionMethod() {
// Method 내용
}
fun main() {
val str = "Hello, Kotlin!"
str.myExtensionMethod()
}
위와 같이 기존 클래스 뒤에 점(.)을 찍고 새로운 Method를 작성하여 확장 함수를 선언할 수 있습니다. 이렇게 Kotlin에서는 다양한 기능을 제공하여 Method를 유연하게 활용할 수 있습니다. 제 경험이지만 Java를 조금은 하던 친구가 Function과 Class, Method 이 세 가지를 헷갈려 하던 것이 생각나서 혹시나 하는 마음에 이렇게 앞에서부터 자세히 적고 있습니다. 혹시나 포스팅을 보다가 이해가 되지 않는 부분이 있으시면 꼭 댓글로 질문 남겨주시기 바랍니다. 제가 전문가 수준은 아니지만 아는 선에서 최대한 설명해 드리겠습니다. A-Z까지 알려드리긴 어려울 수 있지만, 꼭 가려운 부분을 긁어드릴 수 있도록 노력하겠습니다. :)
'개발 이야기 > [Kotlin]' 카테고리의 다른 글
앱, 어플리케이션 만드는 법 - [Kotlin] 데이터 클래스(Data Class) 개념 (36) | 2023.05.16 |
---|---|
앱, 어플리케이션 만드는 법 - [Kotlin] 속성(Property) 개념 (20) | 2023.05.14 |
앱, 어플리케이션 만드는 법 - [Kotlin] 함수(Function) 개념 (27) | 2023.05.14 |
앱, 어플리케이션 만드는 법 - [Kotlin] 클래스(Class) 개념 (15) | 2023.05.13 |
앱, 어플리케이션 만드는 법 - [Kotlin] 패키지(Package) 개념 (14) | 2023.05.13 |
댓글