カテゴリ: Kotlin 更新日: 2026/01/24

Kotlinの関数型を整理するパッケージ・ファイル構造の例を初心者向けにやさしく解説!

Kotlinの関数型を整理するパッケージ・ファイル構造の例
Kotlinの関数型を整理するパッケージ・ファイル構造の例

先生と生徒の会話形式で理解しよう

生徒

「Kotlinのプログラムって、いろいろなファイルに分かれていて混乱します。関数はどこに書けばいいんですか?」

先生

「いい質問ですね。Kotlinでは関数をきれいに整理するために、パッケージやファイルを使って分類することができますよ。」

生徒

「パッケージとかファイル構造って、初心者にも必要ですか?」

先生

「もちろんです!最初のうちから整理しておくと、後で迷子にならずにすみますよ。では、Kotlinの関数型を整理する基本の構造を見ていきましょう。」

1. Kotlinの関数はどこに書くのが正解?

1. Kotlinの関数はどこに書くのが正解?
1. Kotlinの関数はどこに書くのが正解?

Kotlinでプログラムを書くときにまず意識したいのが、「この関数はどこへ置くべきか?」という整理の仕方です。書きたいコードを何でも1つのファイルに詰め込んでしまうと、最初は動いても、あとから読み返すとどこに何があるのか分からなくなりやすくなります。

例えば「あいさつ文を返す関数」や「足し算を行う関数」など、目的が違うものを同じ場所にまとめてしまうと、プログラムの全体像がつかみにくくなります。そこで役に立つのが、ファイルを分けたり、パッケージを使ってカテゴリごとにまとめるという考え方です。

Kotlinでは、クラスの中に入れなくてもトップレベルに自由に関数を書くことができるため、ファイルの構造を自分で整理しやすいという特徴があります。次のようなシンプルな例を見るとイメージしやすいでしょう。


// ファイル: Greeting.kt
fun greet(name: String): String {
    return "こんにちは、$name さん!"
}

このように1つのファイルに関連する関数だけを入れておくと、あとから探しやすく、初心者でも混乱しにくくなります。「このファイルには何の機能が入っているのか?」がひと目で分かる構成を意識すると、自然と読みやすいコードになります。

2. パッケージってなに?

2. パッケージってなに?
2. パッケージってなに?

パッケージとは、Kotlinのファイルをまとめて管理するための「グループ名」のようなものです。パソコンで書類をジャンルごとにフォルダ分けするのと同じで、プログラムのファイルもパッケージという単位で整理しておくと、あとから見つけやすくなります。

たとえば、便利な共通関数をまとめておく場所としてcom.example.utils、計算まわりの関数を入れておく場所としてcom.example.mathといったパッケージ名を付けておくイメージです。名前の前半ほどざっくりしたグループ、後ろに行くほど具体的な分類になっていきます。

  • com.example.utils(文字列操作や便利関数を入れる場所)
  • com.example.math(足し算・引き算など計算関数を入れる場所)

実際のKotlinファイルの先頭には、次のようにパッケージ名を書きます。


// ファイル: StringFunctions.kt
package com.example.utils

fun hello(name: String): String {
    return "こんにちは、$name さん"
}

package com.example.utilsと書くことで、「このファイルはcom.example.utilsというグループに属していますよ」とKotlinに教えているイメージです。このパッケージ名は、実際のフォルダ構成とも対応していて、パソコンの中では次のような階層になります。


project/
├── src/
│   ├── com/
│   │   └── example/
│   │       ├── utils/
│   │       │   └── StringFunctions.kt
│   │       └── math/
│   │           └── Calculator.kt

「com → example → utils」という順番がそのままフォルダの階層になっているのが分かると思います。プログラミング未経験の方は、まずは「パッケージ名=フォルダの住所」「同じ役割のファイルを同じパッケージに入れる」というイメージを持っておくと、そのあとのファイル構造の説明も理解しやすくなります。

3. ファイルの中に関数を分けて整理しよう

3. ファイルの中に関数を分けて整理しよう
3. ファイルの中に関数を分けて整理しよう

パッケージで「大きなグループ」を決めたら、その中でさらにファイルを使って関数を整理していきます。いろいろな種類の処理を1つのファイルに全部入れてしまうと、スクロールが長くなり、「この関数どこに書いたっけ?」と探すだけで時間がかかってしまいます。

そこで、役割ごとにファイルを分けるという考え方が大事になります。たとえば「文字列まわりの関数だけを集めたファイル」と「計算まわりの関数だけを集めたファイル」のように、テーマ別に分けておくと、あとから見直したときにとても分かりやすくなります。


// ファイル: StringFunctions.kt
package com.example.utils

// あいさつ文を作る関数(文字列を扱うので文字列系のファイルにまとめる)
fun hello(name: String): String {
    return "こんにちは、$name さん"
}

// ファイル: Calculator.kt
package com.example.math

// 2つの数値を足し算する関数(計算処理なので math 用のファイルにまとめる)
fun add(a: Int, b: Int): Int {
    return a + b
}

このように「文字列」「計算」というようにテーマごとにファイルを分けておくと、「あいさつを変えたいから StringFunctions.kt を開こう」「足し算の処理を直したいから Calculator.kt を見よう」と、目的の関数にすぐたどり着けます。プログラミング未経験の方でも、1ファイル=1つの役割を意識しておくだけで、Kotlinのソースコードがぐっと読みやすく、整理しやすくなります。

4. パッケージ名とディレクトリ構造の関係

4. パッケージ名とディレクトリ構造の関係
4. パッケージ名とディレクトリ構造の関係

Kotlinのパッケージ名とフォルダ構造には、「きれいに対応させる」という大事なルールがあります。たとえば、ファイルの先頭にpackage com.example.utilsと書いた場合、そのファイルはプロジェクトの中ではcom/example/utils/というフォルダの中に置くのが基本です。パソコンの中でいうと、「comフォルダ → exampleフォルダ → utilsフォルダ」と順番に入っていった先に、そのKotlinファイルがあるイメージです。

実際のファイルの先頭は次のようになります。


// ファイル: StringFunctions.kt
package com.example.utils

fun hello(name: String): String {
    return "こんにちは、$name さん"
}

このとき、プロジェクトのフォルダ構成は次のようになります。


project/
├── src/
│   ├── com/
│   │   └── example/
│   │       ├── utils/
│   │       │   └── StringFunctions.kt
│   │       └── math/
│   │           └── Calculator.kt

「パッケージ名のドット(.)ごとにフォルダが1つ増えていく」と覚えておくと分かりやすいです。パッケージ名とフォルダの場所がそろっていると、あとから別の人がプロジェクトを開いたときにも、「この処理はどのあたりにあるのか」がすぐに見つけやすくなります。KotlinやJavaではこのスタイルが一般的なので、早い段階で慣れておくと大きなプロジェクトでも迷子になりにくくなります。

5. Kotlinのmain関数はどこに置けばいい?

5. Kotlinのmain関数はどこに置けばいい?
5. Kotlinのmain関数はどこに置けばいい?

Kotlinのmain関数は、「プログラムが最初に動き出す入口」です。電源ボタンのような役割を持っていて、ここからほかの関数が順番に呼び出されていきます。まずは、このmain関数をどこに置くと分かりやすいかをイメージしておきましょう。

初心者のうちは、「実行用のmain関数」と「処理をまとめた関数ファイル」を分けておくのがおすすめです。main関数をまとめたファイルを1つ用意しておき、そこからhelloaddなどの関数を呼び出す形にすると、どこからプログラムが始まり、どこに処理が書いてあるのかがはっきり見えるようになります。

よくある例として、次のようなフォルダ構成があります。


project/
├── src/
│   ├── com/
│   │   └── example/
│   │       ├── utils/
│   │       │   └── StringFunctions.kt
│   │       ├── math/
│   │       │   └── Calculator.kt
│   │       └── Main.kt

Main.ktには、「実際に動かしたい処理だけ」をシンプルに書き、詳しいロジックはそれぞれのファイル(StringFunctions.ktCalculator.kt)に任せるイメージです。実際のKotlinコードは次のようになります。


// ファイル: Main.kt
package com.example

import com.example.utils.hello
import com.example.math.add

fun main() {
    // あいさつ用の関数を呼び出す
    println(hello("山田"))

    // 計算用の関数を呼び出す
    println(add(10, 20))
}

main関数の中では、「何を実行したいか」を順番に並べるだけなので、とても読みやすくなります。あいさつの内容を変えたいときはStringFunctions.kt、計算のルールを変えたいときはCalculator.ktを開けばよいので、Kotlinに慣れていない人でも、どのファイルを触ればよいか迷いにくくなります。

6. ファイルを整理するとメリットがたくさん!

6. ファイルを整理するとメリットがたくさん!
6. ファイルを整理するとメリットがたくさん!

関数をパッケージやファイルで整理することで、次のようなメリットがあります。

  • コードの見通しがよくなる
  • 同じ機能をまとめて探しやすい
  • 他の人と一緒に作業しやすい
  • エラーが起きたときに原因を見つけやすい

とくに初心者のうちは、「ファイル名=中に入っている機能」と考えておくと、混乱せずにすみます。

7. Kotlinでおすすめのファイル分けパターン

7. Kotlinでおすすめのファイル分けパターン
7. Kotlinでおすすめのファイル分けパターン

以下のような構成は、初心者にとってもシンプルでわかりやすいです。


src/
├── com/
│   └── example/
│       ├── Main.kt          ← 実行用
│       ├── math/            ← 数値系の関数
│       ├── string/          ← 文字列系の関数
│       └── util/            ← 汎用的な関数

それぞれのフォルダの中に、関数を入れた.ktファイルを作っておけばOKです。

8. Kotlinで関数を管理するコツ

8. Kotlinで関数を管理するコツ
8. Kotlinで関数を管理するコツ

最後に、初心者が関数を整理するうえで大切なコツを紹介します。

  • 機能ごとに関数をグループ分けしよう
  • 1つのファイルには、似た役割の関数だけを入れよう
  • 名前のルールを決めておこう(例:StringFunctions.ktは文字列系)
  • main関数とは別にしておくと見通しがよくなる

Kotlinは、関数型プログラミングも使えるモダンな言語です。関数をきれいに整理できるようになると、書くのも読むのもずっと楽になります。

まとめ

まとめ
まとめ

Kotlinでは、関数を整理するためにパッケージファイル構造をうまく使うことがとても重要です。特に、関数型スタイルを取り入れて開発する場合には、関数があちこちに散らばらないように、あらかじめ整理された場所に配置しておくことで、コードの可読性や再利用性がぐっと上がります。

この記事では、関数をファイル単位・パッケージ単位で分類し、Main.ktから必要な関数だけをimportして使う実例を紹介しました。これによって、「あの関数どこだっけ?」と迷うことも少なくなり、プロジェクト全体がとても見通しよくなります。

また、パッケージ名とディレクトリ構成を一致させることで、プロジェクト内の関数の配置場所が論理的に分かりやすくなります。たとえば、com.example.utils.StringFunctions.ktという構成なら、「文字列関数が入ってるフォルダの中にあるんだな」とすぐにイメージできます。

Kotlinでは、関数をクラスの中に入れなくても単体で書くことができるため、役割ごとに独立したファイルに整理するのが自然です。そのためにも、ファイルごとの命名ルールを決めたり、機能ごとにフォルダを分けたりする工夫がとても効果的です。

特に初心者の方は、最初にプロジェクトの構成をしっかり作っておくことで、あとから大規模になってもスムーズに対応できます。次のような構成であれば、誰が見ても直感的に分かりやすく、保守性の高いコードになります。

おすすめ構成と関数整理のサンプル


src/
├── com/
│   └── example/
│       ├── Main.kt
│       ├── string/
│       │   └── Greeting.kt
│       └── math/
│           └── Calculator.kt

// Greeting.kt
package com.example.string

fun greet(name: String): String {
    return "こんにちは、$name さん!"
}

// Calculator.kt
package com.example.math

fun multiply(a: Int, b: Int): Int {
    return a * b
}

// Main.kt
package com.example

import com.example.string.greet
import com.example.math.multiply

fun main() {
    println(greet("高橋"))
    println("掛け算の結果は: ${multiply(4, 5)}")
}

このように、関数を独立したファイルに分け、Main.ktでは必要なものだけをimportして使うことで、コードはすっきりと整い、全体の見通しが非常に良くなります。

関数名・ファイル名・フォルダ名が一致していれば、他の開発者と共同作業をする場面でも混乱が起きにくく、チームでの開発にも強くなります。また、テストを書くときもファイルが役割ごとに整理されていると効率よく準備ができます。

Kotlinはモダンで柔軟な言語ですが、だからこそ「どこに何を書くか」のルールを早めに決めておくことが、学習と実践の両方で大切なポイントになります。パッケージ構成やファイル構造の設計は、最初の一歩でつまずかないための基礎になるのです。

先生と生徒の振り返り会話

生徒

「関数って、クラスに入れなきゃいけないと思ってたんですけど、ファイルに直接書けるんですね!」

先生

「そうなんです。Kotlinではファイルの中に直接関数を書いて整理できるので、シンプルで分かりやすくなりますよ。」

生徒

「パッケージとフォルダを一致させるのも、すごく整っていて良いなと思いました!」

先生

「それが基本のスタイルです。あとから拡張するときや、チーム開発のときにも役立ちますよ。」

生徒

「最初から整理しておけば、関数が迷子にならずにすみそうですね!」

先生

「そうですね。構造をしっかり作ることは、いいコードを書く第一歩です。」

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinでは関数をどこに書けばよいのか迷ってしまいます。正しい場所はありますか?

Kotlinでは、関数をパッケージやファイルで整理して書くのが一般的です。たとえば、機能ごとに分けたファイルに関数を定義すると、後で見直しやすくなります。
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説