質問: new Sample('teratail'); sample.greeting() sample.saySomething() ```
回答: Javaではできません。~~基本的にJavaは、「クラスからオブジェクトを生成してそのオブジェクトを操作、状態をもたせることで開発を行う言語」ですので、クラスに属していないフィールドやメソッドが存在することはありません。(なお、ENUMについては触れません)~~ ※Javaではできないのは確かですが、Pythonはオブジェクト指向言語にもかかわらずクラス外宣言が可能ですので、この**オブジェクト指向言語だからクラス外宣言はできない**というのは間違っておりましたため訂正します。申し訳ありません。 JavaScriptは、~~オブジェクト指向言語ではなくスクリプト言語で、~~クラスの存在は必須ではありませんから、クラスの外に定義することは問題ないですし、普通ですよね。 オブジェクト指向について説明する記事がわかりやすかったので貼っておきます。→~~プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話~~ ※よくよく記事を読んだら、今回の質問で補足としてお伝えするには微妙な内容でしたので訂正線を引かせていただきます。