更新日:
Javaのメソッドとは?基本構文や呼び出し方・使うメリットを解説
Javaのメソッドとは何かを正確に理解できていないと、コードは読めても自分では書けない、という壁にぶつかりやすくなります。
引数や戻り値、voidの違い、staticとインスタンスメソッドの使い分けなど、つまずきやすいポイントがありますよね。
本記事では、Javaにおけるメソッドの概要や種類、基本構文や定義する方法などを解説します。
メソッドの呼び出し方から使うメリット・デメリットまで整理しました。
フリーランスを始めたい!自分の市場価値を知りたい!案件を探したい!
などでお悩みの方にオンライン相談会を開催中。是非お気軽にご相談ください。
Javaのメソッドとは?

Javaのメソッドとは、ある処理をひとまとまりにして名前を付け、必要なときに何度でも呼び出して使える「部品」のことです。
同じ処理を毎回書くのではなく、メソッドとしてまとめておくことで、呼び出すだけで再利用できます。
メソッドは引数を受け取って処理を行ったり、結果を戻り値として返したり、あるいは何も返さない形でも定義できます。
Javaで処理を整理し、再利用性を高めるための基本要素です。Javaのスキルを活かした仕事をしたい方は、Javaエンジニアの概要について下記記事よりご確認いただけます。
【関連コンテンツ】

クラスとの違い
Javaにおけるクラスとメソッドの関係は、「設計図」と「その中に含まれる処理の手順」にたとえられます。
クラスはデータと処理をまとめた全体の設計を表し、その中に具体的な動作としてメソッドが定義されます。
一方、メソッドは必ずクラスの内部に記述する必要があり、単独で存在することはできません。
クラスが全体の構造を決めるのに対し、メソッドはその中で実際の処理を実行する役割を持ちます。
Javaメソッドの種類
Javaのメソッドは、大きく2種類に分かれます。
オブジェクトの状態を使って動く「インスタンスメソッド」と、オブジェクトを作らなくても呼び出せる「クラスメソッド」です。
どちらを使うかは、処理がオブジェクトの固有データを必要とするかどうかで判断できます。
代表的なforEachメソッドの使い方について知りたい方は、下記の記事もご覧ください。
【関連コンテンツ】

インスタンスメソッド
インスタンスメソッドとは、クラスから生成したオブジェクトに対して呼び出すメソッドのことです。
オブジェクトはクラスをもとに作られた実体であり、ユーザー名や残高など個別のデータを保持しています。
インスタンスメソッドは、それらのデータを参照・更新する処理に適しており、メソッド内では「this」を使って自身のオブジェクトにアクセスできます。
なお、インスタンスを生成せずに呼び出すことはできません。
その場合は、エラーになる点に注意しましょう。
クラスメソッド(static)
クラスメソッドとは、メソッド宣言にstaticを付けて定義するメソッドのことです。
staticは「クラス自体に属する」という意味を持ち、オブジェクトを生成しなくてもクラス名から直接呼び出せます。
一方で、オブジェクト固有のデータにはアクセスできず、「this」も利用できません。
そのため、数値計算や文字列変換のように、インスタンスの状態に依存しない共通処理をまとめる際に使われます。
Javaメソッドの基本構文

Javaのメソッドは修飾子と戻り値型、メソッド名、引数リスト、処理本体を決まった順番で記述して定義します。
たとえば、public int add(int a, int b) { return a + b; } のように書きます。
戻り値型は処理結果の種類を表し、値を返さない場合はvoidを使用するのが一般的です。
また、引数にはメソッドへ渡すデータを指定し、実際の処理は波カッコ内に記述します。
Javaの基本構文を理解することで、メソッドの作成やコード読解がしやすくなるでしょう。
Javaのメソッドを定義する方法
Javaでメソッドを定義するとは、「特定の処理を名前付きの部品としてまとめること」です。
たとえば、以下のように定義します。
public int add(int a, int b) {
return a + b;
}
上記では、addという名前で整数同士を加算し、結果を返しています。
戻り値がある場合はreturnが必要で、何も返さない場合はvoidを使います。
また、メソッド名はcalcPriceのように動詞から始めるのが一般的です。
Javaのメソッドの呼び出し方
メソッドを定義したら、続けて「呼び出す」ことで初めて処理が実行されます。
呼び出しはメソッド名に丸カッコを付けて書き、必要なデータがあれば丸カッコの中に渡しましょう。
引数と戻り値の使い方を理解すると、サンプルを写すだけの状態から自分で組み立てる段階へ移れます。
引数の設定方法
Javaでメソッドを呼び出す際の引数とは、処理に必要なデータを渡すための値のことです。
呼び出し側で指定する値を「実引数」、メソッド定義側で受け取る変数を「仮引数(パラメータ)」と呼びます。
たとえば、次のコードでは2と3が実引数、aとbが仮引数です。
int result = add(2, 3);
public int add(int a, int b) {
return a + b;
}
引数を使うことで、同じメソッドでも渡す値に応じて異なる結果を得られます。
なお、引数が不要な場合は、空の丸カッコ()で呼び出します。
戻り値(return)の使い方
戻り値とは、メソッドが処理した結果を呼び出し元へ返す値のことです。
Javaではreturnを使って結果を返し、呼び出し側で変数に受け取って利用します。
たとえば、計算結果を返すメソッドでは「return a + b;」のように記述します。
一方で、画面表示など値を返さない処理では、戻り値型にvoidを指定しましょう。
voidのメソッドで値を返すとエラーになり、逆にintなど戻り値型を指定した場合は、すべての処理経路でreturnを書く必要があります。
Javaでメソッドを使うメリット
メソッドを使うことで、コードの再利用性や可読性、保守性という3つの観点が同時に改善されます。
学習が進んで処理が複雑になるほど、メソッドに分けることのメリットを得られるでしょう。
処理をひとまとまりにできる
Javaでメソッドを使うメリットのひとつは、処理をひとまとまりに整理できる点です。
同じ処理を複数箇所に書く代わりに、メソッドとして定義しておけば、必要な場面で何度でも呼び出せます。
たとえば、割引額の計算をメソッド化しておけば、注文機能や会計機能などから共通して利用可能です。
修正が必要になった場合も、メソッド内を一か所変更するだけで済むため、修正漏れやコピー&ペーストによるバグを防ぎやすくなります。
コードの管理がしやすくなるのも、大きな利点です。
可読性が向上する
Javaでメソッドを使うと、コードの可読性を高めやすくなります。
mainメソッドにすべての処理を書くと、コードが長くなり、処理の流れを把握しにくいです。
一方で、入力・計算・表示のように役割ごとにメソッドへ分けることで、mainメソッドを読むだけでも全体の流れを理解しやすくなります。
また、calculateTotalのように動詞から始まる名前をつけることで、処理内容が直感的に伝わりやすくなるのも特徴です。
読みやすいコードは、自分だけでなくチーム開発でも保守しやすくなります。
可読性を高めるためには、フレームワークを活用するのもひとつの手です。Javaのフレームワークについて知りたい方は、下記の記事をご覧ください。
【関連コンテンツ】

インスタンスと組み合わせて柔軟な設計が可能になる
Javaでは、メソッドとインスタンスを組み合わせることで、用途に応じた柔軟な設計が可能になります。
たとえば、計算処理のように個別のデータを必要としない場合はstaticメソッドを使い、ユーザー情報や商品の状態など、オブジェクト固有のデータを扱う場合はインスタンスメソッドを利用するなどです。
処理の性質に応じて使い分けることで、役割が整理された読みやすいコードを書きやすくなります。
また、機能追加や修正もしやすくなり、保守性の向上にもつながります。
コードの品質が安定しやすい
Javaでメソッドを適切に分割すると、コードの品質を安定させやすくなります。
ひとつのメソッドが担当する処理を小さくすることで、テストや動作確認を個別に行いやすくなるためです。
たとえば、計算処理と画面表示を別々のメソッドに分ければ、どちらに問題があるのかを切り分けやすくなります。
また、値を返すメソッドと状態を変更するメソッドを分けて設計すると、意図しない副作用も防ぎやすくなります。
基本文法への理解を深めることで、実務のコード読解や保守にも対応しやすくなるでしょう。
Javaでメソッドを使うデメリット
メソッドには多くのメリットがありますが、使い方を誤るとかえってコードが読みにくくなるリスクもあります。
ここでは、メソッドのデメリットとして、初学者が陥りやすい落とし穴を解説します。
命名が不適切だと可読性が下がる
Javaでは、メソッド名の付け方が不適切だとコードの可読性が下がります。
名前を見ても処理内容が想像できないと、コードを読む人が理解しづらくなるためです。
Javaでは一般的に、calculatePriceのように小文字の動詞から始め、2語目以降を大文字にするcamelCase形式で命名します。
名詞だけの名前は、メソッドの役割が曖昧になっているサインです。動詞から始める命名を意識しましょう。
処理内容が伝わる名前を意識することで、保守しやすく読みやすいコードにつながります。
クラスとの役割分担が曖昧になることがある
Javaでは、staticメソッドとインスタンスメソッドの役割を整理せずに使うと、クラス設計がわかりにくくなることがあります。
staticメソッドは計算や変換のようにオブジェクトの状態を必要としない処理に使い、インスタンスメソッドはユーザー情報など固有データを扱う処理に使うのが基本です。
曖昧なまま実装すると、staticな場所からインスタンスメソッドを呼び出してコンパイルエラーになるケースもあります。
処理が「オブジェクト固有の状態を必要とするか」を意識することが、役割分担を明確にするポイントです。
呼び出しが多いとデバッグが手間になる
Javaでは、メソッドを細かく分割しすぎると、処理の流れを追うために複数のメソッドを確認する必要があり、デバッグに手間がかかる場合があります。
とくに、値を返すメソッドと画面表示やデータ更新などの副作用を持つメソッドが混在していると、どこで問題が発生したのか特定しにくくなります。
結果を返す処理と状態を変更する処理を分けて設計すると、コードの流れを整理しやすくなり、原因の調査や修正もスムーズに実施可能です。
Javaのメソッドの応用技術

メソッドの基本を理解したら、次は応用的な使い方を知ることでコードをより簡潔に書けるようになります。
使いどころの判断も、一緒に押さえておくことが重要です。
Javaの基礎を積み上げた先にどのような案件があるか、市場感を把握しておきたい方は、下記より案件の傾向や市場をチェックいただけます。
メソッドチェーン
メソッドチェーンは、メソッドの呼び出しをドットでつなぎ連続して書く方法です。
あるメソッドが、オブジェクト自身を戻り値として返すように設計されていると、そのまま次のメソッドを続けて呼び出せます。
文字列の処理や設定の積み重ねを一行で書けるため、コードが短くなります。
ただし、つなぎすぎると何をしているかが一目で追えなくなるのが課題です。
一行で読み解けるかどうかを判断の基準にすると、使いすぎを防げます。
オーバーロード
オーバーロードとは、同じクラス内で同じ名前を持ちながら、引数の数や型が異なるメソッドを複数定義する仕組みのことです。
たとえば、整数同士を加算するメソッドと、小数同士を加算するメソッドを同じ名前で定義できます。
Javaでは、メソッド名と引数の型の組み合わせを「メソッドシグネチャ」と呼び、戻り値の型だけを変えたメソッドは別物として扱われません。
そのため、戻り値だけが異なるメソッドは、定義できない点に注意が必要です。
便利な機能ですが、増やしすぎると使い分けがわかりにくくなるため、最小限に留めることが重要です。
可変長引数
可変長引数とは、メソッドに渡す引数の数を固定せずに受け取れる仕組みのことです。
引数の型の後ろに「…」を付けて宣言します。
呼び出し側は、一個でも複数個でも値を渡せます。
複数の数値の合計を計算するメソッドなどで活用される手法です。
内部では配列として扱われるため、繰り返し処理との相性もよい特徴があります。
ただし、可変長引数は引数リストの最後にしか書けず、同じメソッド内に複数定義することはできないため、制約を理解して使うことが重要です。
まとめ
Javaのメソッドとは、処理をひとまとまりにして名前を付け、必要なときに何度でも呼び出せる部品のことです。
インスタンスメソッドとstaticメソッドの使い分けは「オブジェクトの状態を使うかどうか」で判断できます。
初心者は、引数・戻り値・voidの役割を理解することで、サンプルコードを写す段階から抜け出せます。
命名はcamelCase形式の動詞から始めることで可読性が上がり、オーバーロードや可変長引数は最小限で使うのが基本です。
株式会社PE-BANKは、1989年創業の35年以上の歴史を持つITフリーランスエージェントです。1,000社以上の取引先企業との連携によって常時5,000件以上の案件を公開しており、全国展開による地方案件の豊富さも強みとしています。
最大の特徴は、独自の「共同受注方式」によるマージン率の透明性と低さです。手数料は10%〜15%と業界トップクラスの低水準(高還元)であり、継続期間に応じてさらに優遇されるため、同一条件の案件でも「手取り額」が最大化されます。
所属エンジニアの平均年収は935万円(※)に達しています。ITフリーランスとして、Javaの案件を探している方は、Pe-BANKフリーランスにご相談ください。
この記事をシェア
関連記事
