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

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

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

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

Q&A

解決済

2回答

5775閲覧

Java Staticの多様化がいけない理由・デメリット

konkon.gitsune

総合スコア16

Java

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

1グッド

3クリップ

投稿2019/08/01 03:58

初めまして、Java初心者です。
学校の講義受けている中で「クラスメソッドの多用してはいけない」と教えられました。
こちらの理由についてさまざまな理由があると抽象化され、私の中で腑に落ちません。
様々なWebページを調べて原因を探求したのですが解決しません。
Staticのため多用するデメリットとはなんでしょうか。また多用していけない理由についてご存じの方、ご教授いただけると幸いです。

nskydiving👍を押しています

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

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

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

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

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

maisumakun

2019/08/01 04:02

「様々なWebページ」には、どのような理由が挙げられていましたでしょうか?
konkon.gitsune

2019/08/01 04:12

ご指摘ありがとうございます。 どのサイトでも挙げられているのは ーーオブジェクト指向ではないからーー という回答です。
Zuishin

2019/08/01 04:16 編集

それで解決じゃないですか。オブジェクト指向のメリットがわからないということですか?
konkon.gitsune

2019/08/01 04:21

Zuishinさん、ご指摘ありがとうございます ではなぜ、staticという考え方がJavaにあるのでしょうか。 初心者の私にはこの「static」の考え方がオブジェクト指向に入っている理由が明確化されません。 C言語のなごりと言わればうなずくことしかできませんが。
konkon.gitsune

2019/08/01 04:22

Zuishinさん、回答ありがとうございます! Webサイト参照して学んできます!
guest

回答2

0

一部の例外を除けば、プログラミング言語上にある機能はすべて適材適所で、それぞれに向いた場面と向かない場面があります。

Javaのstaticメソッドの場合、適切な場面は

  • 状態を持たず、同じ呼び出しに同じ値を返すような関数(例: Math.sin
  • オブジェクトを作成するメソッド(例: String.valueOf
  • インスタンスの状態に紐付かない、外部公開しないような補助メソッド
  • 多様なオブジェクトに使えるユーティリティ関数(例: Objects.equals

などです。逆に、「特定のインスタンスを操作する」メソッドをstaticにしてしまうと、オブジェクトのコンポーネント化、カプセル化を阻害する要因となります。端的に言えば、「Javaで書く意味がない」ということになります。

投稿2019/08/01 04:18

maisumakun

総合スコア146018

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

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

Zuishin

2019/08/01 04:24

質問の追記・修正依頼欄を見る限り、質問者さんが本当に知りたかったのはこちらかもしれません。
konkon.gitsune

2019/08/01 04:25

maisumkunさん、ご回答くださりありがとうございます! 「なるほど!」「ハ!!」となりました! 頭の陰りがなくなりそうです!ありがとうございます!
guest

0

ベストアンサー

一言で言うと、オブジェクト指向できないからです。

「staticおじさん」はなぜ自信満々なのか

#追記

「static おじさん」で検索すると、お探しの情報があるのではないかと思います。言語によっては static おじさんが正しいのですが、ひとりだけ独自のコーティングをしていたら、他のチームメンバーに迷惑をかけたり、嘲笑の対象になったりします。ツーバイフォーの現代建築をしている時に、宮大工がひとりだけカンナで柱を削ってるようなものです。

投稿2019/08/01 04:05

編集2019/08/01 04:14
Zuishin

総合スコア28669

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

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

konkon.gitsune

2019/08/01 04:27 編集

Zuishinさん、回答ありがとうございます! わかりやすいたとえで私自身「なるほど!」と思えました! 紹介されたWebサイト参照してさらに深めます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問