※駆け出しのエンジニアです。将来開発の仕事をし、東京・大阪勤務を希望します。
指摘・助言などよろしくお願いします。
#Java
##1.特徴
Javaの特徴としては2つあります。
###1)オブジェクト指向型言語
1つのプログラムを「オブジェクト」として作成する考え方です。
考え方なので多くの学習者たちが悩まされます。
オブジェクト指向には3つの特徴があります。
・継承
・カプセル化
・ポリモーフィズム
上記3つの特徴を簡単に書きます。
「継承」とは特徴・性質を引き継ぐことです。「カプセル化」はデータや値を守ることです。「ポリモーフィズム」は1つの枠組みをもとに、ほかの人が少しずつ変えられるようにできる方法です。
###2)マルチプラットフォーム
Javaのプログラムでは「.java」というソースファイルから文法などをチェックしてくれる「コンパイル」作業を通してできる「.class」というクラスファイルがあります。このクラスファイルはJavaVM(Java仮想マシン)があればどこでも実行することができます。
なぜJavaVMがあればどこでも動けるのか?
理由は2つあって、1つめは「JavaVMがクラスファイルを実行するから」です。2つめは「OSが違っていてもJavaVMが違いを吸収する」からです。
##2.変数
「変数」とはデータをいれる箱のようなものです。
変数で学習してきたことは3つあります。
###1)static変数
static変数とは1つのメソッドインスタンスと別のメソッドインスタンスで共有して使える変数です。
method AとBがあったとします。それぞれ共有のstatic変数があったとします。
片方の変数の値を変えると、別の変数の値もかえないとコンパイルがとおりません。
###2)メンバ変数
メンバ変数とはクラスに定義される変数です。
class A{
int b = 10;
・・・
}
上記のint型の変数bのようなものです。
メンバ変数はクラス内に定義されていればどこのメソッドでも使えます。
###3)ローカル変数
ローカル変数とはメソッド内に定義される変数です。
class A {
int b = 10; //メンバ変数
public void methodc(){
int d = 20; //ローカル変数
}
public void methode(){
int f = 30; //ローカル変数
System.out.println(f); //表示される
}
}
メンバ変数、ローカル変数で出力できるかできないかアクセスの範囲が異なります。このような範囲のことを「スコープ」といいます。
次回「配列」など書いていきます。