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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

6回答

18876閲覧

Javaにおけるクラスとメソッドの違いを教えて頂きたいです。

moupai

総合スコア24

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2015/07/12 13:11

閲覧ありがとうございます。ドットインストールを参考にAndroidアプリ制作に取り組んでいるプログラミング初心者です。

ぐぐったりしてもクラスとメソッドの違いが分からず困っています。

どちらもプログラミングにおける部品のようなものとの認識をしているのですが違いが分からないので教えて頂きたく思い投稿させて頂きました。

よろしくお願いします。

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

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

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

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

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

guest

回答6

0

ベストアンサー

オブジェクト指向、難しいですよね。
おそらくそれらの存在意義を本当に理解するには、大規模開発を実際にしてみる必要があるかもしれません。

わかりやすく簡単に説明するために、一部簡略化して説明します。

クラスは、一機能のまとまりを表します。
一機能のまとまりとして、例えば以下のKeijibanクラスという、掲示板機能のクラスを宣言したとします。

lang

1public class Keijiban{ // これがクラス 2 3}

クラスはデータ(プロパティと呼びます)と、動作(メソッドと呼びます)で成り立ちます。

プロパティは以下のように、クラスのなかに存在する変数です。

lang

1public class Keijiban{ // これがクラス 2 public String data; // これがプロパティ 3}

メソッドは、以下のように、クラスの中に存在する関数(動作)です。

lang

1public class Keijiban{ // これがクラス 2 public String data; // これがプロパティ 3 4 public void kakikomu(String str){ // これがメソッド 5 data = data + str; // dataに書き込みを追加(動作) 6 } 7}

こうすることで、外部から以下のように掲示板クラスを使うことができます。

lang

1Keijiban myKeijiban = new Keijiban(); 2myKeijiban.kakikomu("かきこむぜ!!");

このようにして、掲示板の機能をひとまとまりにしていきます。
書き込みだけではなく、読み込みや削除などの動作も必要になっていくでしょう。
そうした動作を、クラス内にメソッドとして複数羅列していきます。

実際には、プロパティの隠ぺいなど、もっと考えて設計しなくてはなりませんが・・・

投稿2015/07/13 06:33

moriyama

総合スコア259

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

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

moupai

2015/07/15 13:48

とても分かりやすかったです! 回答ありがとうございました!
guest

0

クラスは設計図で,メソッドはクラスの中に組み込まれています.
これにより,クラスから作られたオブジェクトがメソッドという機能を持ちます.
例えば

lang

1public class A{ 2 public int a(int x, int y){ 3 return x + y; 4 } 5}

というクラスがあったとします.どこかで

lang

1A obj = new A();

と書くと,Aという設計図(クラス)を元にobjという新たな「物」が作られます.
この「物」はaという機能(メソッド)を持っており,

lang

1int number = obj.a(1, 2);

このように整数2つ渡すことで足し算をします.
このようにメソッドはクラスに紐付いており,そのクラスから作られた「物」にも紐付きます.
また,1つのクラスにメソッドはいくつあっても構いません.

投稿2015/07/12 14:18

swordone

総合スコア20651

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

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

moupai

2015/07/15 13:49

とても分かりやすかったです! 回答ありがとうございました!
guest

0

クラスは、
public class ●●{
}
などと、ここからはクラスですよ、と宣言しているところてす。●●のかっこのなか全て、全体を指すと考えていただければいいと思います。
一方、メソッドは、クラスのなかにあるものです。もちろん、クラスのかっこのなかにあります。moupaiさんはこんなコード見たことありませんか?
public class●●{
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
}
ここでいうクラスは、●●のあとのかっこから一番最後のかっこまでです。●●クラス なんね呼びます。またメソッドはonCreate(Bundle savedInstanceState)のあとのかっこから一番最後から二番めにあるかっこまでです。onCreateメソッド なんて呼びます。メソッドは、public,private,protectedなどのアクセス修飾子が付けられるもののなかで、クラスではないもの、といっていいでしょう。わかりにくい説明ですみません。

投稿2015/07/13 23:50

TakamasaAwai

総合スコア73

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

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

moupai

2015/07/15 13:48

とても分かりやすかったです! 回答ありがとうございました!
guest

0

クラスは「データ」と「データに対する操作」をまとめたものです
メソッドはその「データに対する操作」のことです。

あるデータを操作する方法をメソッドという形に限定することで、
使う側が余計なことを考えずに済みます。

こんな仕組みになった経緯は
新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡
が参考になります。

投稿2015/07/13 05:03

ozwk

総合スコア13521

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

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

moupai

2015/07/15 13:49

とても分かりやすかったです! 回答ありがとうございました!
guest

0

私も初心者なので、あまりよく分からないのですが、クラスというのは、何かを実行する設計図だと思ってください。
設計図なので、具体的に何を実行するのか必要です。それを指定するのかが、メソッドというやつです。
勿論、クラスもメソッドもプログラムの部品ですが、クラスという設計図が何個かあって、ひとつのプログラムが完成します。

投稿2015/07/12 13:46

編集2015/07/12 13:55
kolon.m

総合スコア69

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

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

moupai

2015/07/15 13:49

とても分かりやすかったです! 回答ありがとうございました!
guest

0

クラスがメソッドをまとめたもので、メソッドは関数を指します。
Yahoo!知恵袋からなのですが、こちらを参考になさってはいかがでしょうか。

投稿2015/07/12 13:31

pice

総合スコア409

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

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

moupai

2015/07/15 13:49

とても分かりやすかったです! 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問