質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

418閲覧

JAVAのmainメソッドについて

roie

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2020/04/15 15:27

javaを学習中の者です。
最近、講師の方が実務ではmainメソッドは使いません。
とおっしゃっていたのですが、どうゆう意味でしょうか。
ちなみに私の今の学習範囲は全然完璧とは言えませんが、JAVAの基本構文からオブジェクト指向まで一通りこなしております。
JSPやサーブレット、データベースなどはまだ学習していないので全然わかりません。
そこらへんになってくるとメインメソッドを使うことがなくなってくるのでしょうか?
実務をされている方でわかる方がいましたら教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2020/04/15 15:35

シンプルに疑問なんですが、なぜ講師の方に聞かないのでしょう。
roie

2020/04/15 15:54

シンプルな疑問ありがとうございます! それも書こうかとは思いましたが理由は講師の方が知らないだけでは、、と思い色んな人に聞いて確かめたいと思ったのでそれを講師には聞きづらいなと思ったためです。
guest

回答3

0

ベストアンサー

実務では、フレームワークを使って開発することが多いので、main メソッドに直接コードを書くことは少ないという意味合いかと推測します。

実務であっても、main メソッドも使うときは使うと思いますが・・・

あとは直接本人に聞いてください。

投稿2020/04/15 22:17

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roie

2020/04/16 08:58

いろんな方の意見を聞けて考えをまとめる事ができました。 ありがとうございます! まとまった考えを簡潔に表現してくれたnskydivingさんをベストアンサーにさせていただきます。 みなさんありがとうございました。
guest

0

Java で実務と言えば、例えば Androidアプリ開発があります。
Android が提供するアプリのフレームワークやクラスライブラリがあり、
アプリを書く人は提供されるクラスを拡張して機能を追加します。
プログラマが main を書くことはありません。

投稿2020/04/15 16:20

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roie

2020/04/15 16:30

知らなかったです! ちなみに現在もAndroidアプリの開発にはJAVAはよく使われているのでしょうか?
guest

0

講師にお聞きください...というのが一番なのですが.

文脈にも因りますが, 恐らく「コマンドラインからプログラムを実行するようなことはしない」ということではないでしょうか.

投稿2020/04/15 15:35

jimbe

総合スコア12639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roie

2020/04/15 16:04

コマンドラインから実行しないではなく現場ではmainメソッド自体を使わないといった感じの言い方だったのですが、、 すいません。とてもわかりづらい質問だったかもしれません。
mike2mike4

2020/04/15 16:19

私は大規模システムではmainを書く機会が非常に少なくて、各PGはクラスを書くように指示されるじゃないか思ったのですが、現場ではどうなっているのか識者のお話を聞きたいですね。
roie

2020/04/15 16:28

私もそう思い今回質問させて頂きました。 mainを書く人は決まっているため現場では書かないのでわからないのでは??と でも講師にはそんなん聞きづらいです。
jimbe

2020/04/15 16:59

識者というよりも仕様次第という所ではないでしょうか. 規模が大きくなるにつれフレームワークを使う場合が多く(というよりフレームワークを使わないと収拾がつかない), そのフレームワークから呼ばれる形で各種機能を実装する場合は, mike2mike4 さんの仰るように各機能のクラスを実装することが主となりますし, 当然コマンドラインから実行しませんから main メソッドは必要ありません. 一応ですが, main (正確には public static void main(String args[]) )メソッドは java コマンドがエントリポイントとして使用するというだけで, 言語的には単なるメソッドです. 極端にいえば, *もし*上記フレームワークでも各機能の呼び出しに際し各クラスの main メソッドを使用するという仕様があったとすれば, 「mainメソッドを使う」ということになるかもしれません.
mike2mike4

2020/04/15 18:34

確かにJavaのFWであるSpring Bootの本をパラパラと捲って見たところmainは出てこないですね。これはどこかでエントリポイントであるmainが隠蔽されて存在するということではないんでしょうか? roieさんの質問に乗じるようですが、ご教示願えると幸いです。
mike2mike4

2020/04/15 18:40

失礼しました。ググった結果、Spring Bootの場合、Applicationクラスにmainがありました。FWはすでに存在しているのですね。勉強になりました。
jimbe

2020/04/15 19:04

Spring Boot に main メソッドが含まれているのかは, 私は使ったことがありませんので想像も出来ません. ソースが公開されていれば探してみると良いかもしれません. そうなると何処にあるのか(無いのか)を探すのは単に興味の範囲で, プログラミングの上では先に書きました通り機能を実装するに当たって main メソッドが必要とならない限り PG は書かないでしょう.
shiketa

2020/04/16 00:02

さんこうまで。 spring initializr https://start.spring.io/ で雛形を生成すると、mainメソッドを含むクラスが生成されますね。 ``` package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ```
jimbe

2020/04/16 03:25

反例が出てきましたね^^;
roie

2020/04/16 08:54

みなさんのお陰でなんとなくですが意味が理解できました。 おそらく現場ではフレームワークを使うことになるからmainメソッドを書くことがないとゆう理解にしておきます! 考えがまとまったので改めて時間のあるときに講師に聞いてみようかと思います。
jimbe

2020/04/16 11:04

「聞くは一時の恥, 聞かぬは一生の恥」というような言葉もあります. ウザがられるくらい質問攻めにしても, 理解して次のステップに繋がっていれば「アイツは面倒だが出来るヤツだ」的な評価に期待できるのではないでしょうか. その為の講師なのですから^^
roie

2020/04/16 22:58

ありがとうございます! ただのうざい奴にならないようステップアップできるよう頑張ります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問