JavaScriptとJavaの関数(メソッド)の定義と呼び出しの違いをやさしく解説!
こんにちは。ゆうせいです。
「JavaScriptを触ってみたけど、Javaとなんか書き方が違う…」と戸惑っていませんか?
たしかに、JavaとJavaScriptは名前は似ているけど、関数の扱い方は大きく違います!
この記事では、JavaとJavaScriptの関数の「定義」と「呼び出し」の違いを徹底比較しながら、初心者にもわかりやすく解説していきます!
関数ってそもそもなに?
まずは用語の整理から。
- Javaでは「メソッド」と呼ぶのが一般的。
- JavaScriptでは「関数(function)」と呼ばれます。
どちらも、処理のまとまりを意味していて、呼び出すことでその中の処理を実行できます。
JavaとJavaScriptの関数定義の違い
Javaの場合(メソッド)
public class Main {
public static void sayHello(String name) {
System.out.println("こんにちは、" + name + "さん!");
}
public static void main(String[] args) {
sayHello("ゆうせい");
}
}
- Javaではクラスの中で定義
- 戻り値の型(
void
など)や引数の型が必須 static
をつけることでインスタンス化なしで呼び出せる
JavaScriptの場合(関数)
function sayHello(name) {
console.log("こんにちは、" + name + "さん!");
}
sayHello("ゆうせい");
- クラスが不要
- 戻り値や引数の型の指定が不要
- 定義も呼び出しもシンプル
定義方法のバリエーション(JavaScriptのほうが多い!)
JavaScriptでは関数の書き方が3つ以上ある!
1. 関数宣言(function declaration)
function greet(name) {
console.log("Hi, " + name);
}
2. 関数式(function expression)
const greet = function(name) {
console.log("Hi, " + name);
};
3. アロー関数(arrow function)
const greet = (name) => {
console.log("Hi, " + name);
};
これらはすべて同じように使えますが、扱いに違いがあるので注意が必要です(たとえば「巻き上げ(hoisting)」という動きの違いなど)。
呼び出し方の違い
Java(staticメソッド)
Main.sayHello("たろう");
Javaでは、クラス名を使って呼び出すか、インスタンスを作成して呼び出します。
Main m = new Main();
m.sayHello("はなこ");
JavaScript
sayHello("たろう");
とてもシンプルですね。クラスもインスタンスも必要ありません。
ただし、ES6(2015年)以降はJavaScriptにもクラス構文があり、Java風に書くこともできます。
戻り値の違い
Java
public static int add(int a, int b) {
return a + b;
}
int
などの型が必須- 戻り値を必ず返さなければならない
JavaScript
function add(a, b) {
return a + b;
}
- 戻り値の型は不要
- 返さなくても構文エラーにはならない
表で比較しよう!
項目 | Java | JavaScript |
---|---|---|
定義場所 | クラスの中 | どこでもOK |
戻り値の型 | 必須 | 不要 |
引数の型 | 必須 | 不要 |
呼び出し方法 | クラス名.メソッド or インスタンス | 関数名のみで呼び出せる |
定義の種類 | 1パターン(+ラムダ式) | 3種類以上(関数宣言・式・アロー関数) |
まとめと学習のヒント
Javaは「厳格」、JavaScriptは「柔軟」
- Javaは静的型付き(きちっと決まっている)
- JavaScriptは動的型付き(ゆるくて自由)
この違いが、関数の定義や呼び出しにも表れています。
今後のステップ
- JavaScriptでは「アロー関数」と「コールバック関数」の練習をしてみよう
- JavaとJavaScriptの「オブジェクト指向」の違いにも注目していこう
- 型が必要な場面には、TypeScriptを取り入れるとJavaに近い安心感が得られる!
何かピンと来ないところがあれば、遠慮なく質問してくださいね!一緒に整理していきましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。