メソッド

Kotlinにおけるオブジェクト指向プログラミング(OOP)の文脈での「メソッド(method)」とは、クラスやオブジェクトに属する関数を指します。Kotlinでは、関数とメソッドの違いは文脈に依存しますが、クラス内部で定義された関数を「メソッド」と呼ぶのが一般的です。


1. 基本的なメソッドの定義

kotlin
class Person { fun greet() { println("こんにちは") } }

上記のgreetは、Personクラスに定義されたメソッドです。インスタンスを作成して呼び出します。

kotlin
val person = Person() person.greet() // => 「こんにちは」と表示

2. 引数と戻り値を持つメソッド

kotlin
class Calculator { fun add(a: Int, b: Int): Int { return a + b } }

このメソッドは2つの引数を受け取り、合計を返します。

kotlin
val calc = Calculator() val result = calc.add(3, 5) // resultは8

3. オーバーロード(メソッドの多重定義)

Kotlinでは同じ名前で異なる引数のメソッドを複数定義できます。

kotlin
class Printer { fun print(text: String) { println(text) } fun print(number: Int) { println(number) } }

4. メソッドの可視性(アクセス修飾子)

メソッドにはアクセス修飾子(public, private, protected, internal)を指定できます。

kotlin
class Secret { private fun hidden() { println("これは外から見えません") } }

このように、privateメソッドはクラスの外部からはアクセスできません。


5. オーバーライド(継承関係でのメソッド再定義)

継承されたメソッドはopenで宣言し、overrideで再定義できます。

kotlin
open class Animal { open fun sound() { println("動物の音") } } class Dog : Animal() { override fun sound() { println("ワンワン") } }

6. 拡張メソッド(拡張関数)

Kotlinでは、既存のクラスに新しいメソッドのような関数を追加できます。

kotlin
fun String.addPeriod(): String { return this + "." } val message = "こんにちは".addPeriod() // => "こんにちは."

まとめ

特徴 内容
所属 クラスやオブジェクトに属する関数が「メソッド」
構文 fun メソッド名(引数): 戻り値型 { ... }
可視性 public, private, protected, internal
オーバーライド openで宣言 → サブクラスでoverride
拡張メソッド クラス外で定義し、クラスのメンバのように使える関数

生成日:2025/05/04