Javaクラス、インスタンス、オブジェクト(1)
オブジェクト向け言語Javaを学習した以上、クラス、インスタンス、オブジェクトについて説明します.
概念と総括
クラス(Class):オブジェクトの設計図を作成します.
≪インスタンス|Instance|emdw≫:オブジェクトを作成するための製品.
オブジェクト:
コードで理解してみましょう.
System.out.println(lefit+right);
}
public static void main(String[] args) {
sum(10,20);
sum(20,40);
}
Calculator c1 = new Calculator();
//↑対象
//Calculatorという新しいオブジェクトが作成され、c 1という変数に含まれます.
//その変数は、Calculatorオブジェクトという名前のデータ形式で表示する必要があります.
c1.setOprands(10,20);
//↑方法
//10と20というパラメータ値をsetoprandsというメソッドに渡します.
c1.sum();
//c 1という名前のオブジェクトに対してsumメソッドを呼び出すと、結果値が得られます.
c1.avg();
//c 1という名前のオブジェクトに対してavgという名前のメソッドを呼び出すと、結果値が得られます.
}
int left, right;
Calculator c2 = new Calculator();
//↑new Calculatorでインスタンスを生成しました.
//そのインスタンスはc 2という変数に含まれます.
c2.setOprands(20,40);
//このコードで、左が20、右が40です.
c2.sum();
出力//60.
c2.avg();
出力//30.
}
概念と総括
クラス(Class):オブジェクトの設計図を作成します.
≪インスタンス|Instance|emdw≫:オブジェクトを作成するための製品.
オブジェクト:
コードで理解してみましょう.
public static void main(String[] args) {
System.out.println(10+20);
System.out.println(10+20);
.
.
.
}
위와 같은 출력코드가 1000개 있다고 하면, 굉장히 번거롭고 귀찮다.
아래와 같이 표현해보자.
public static void sum(int left, int right) {System.out.println(lefit+right);
}
public static void main(String[] args) {
sum(10,20);
sum(20,40);
}
위와 같이 효율적으로 정리된 코드를 refactoring이라고 한다.
2. 객체화
객체 생성을 하는 예시를 아래 코드를 통해 알아보자.
public static void main(String[] args) {Calculator c1 = new Calculator();
//↑対象
//Calculatorという新しいオブジェクトが作成され、c 1という変数に含まれます.
//その変数は、Calculatorオブジェクトという名前のデータ形式で表示する必要があります.
c1.setOprands(10,20);
//↑方法
//10と20というパラメータ値をsetoprandsというメソッドに渡します.
c1.sum();
//c 1という名前のオブジェクトに対してsumメソッドを呼び出すと、結果値が得られます.
c1.avg();
//c 1という名前のオブジェクトに対してavgという名前のメソッドを呼び出すと、結果値が得られます.
}
위의 c1이라는 변수에 담겨있는 객체의 내용을 인스턴스라고 한다.
위의 코드에서 객체의 생성과 작동원리를 파악하였다.
그렇다면 그 객체의 모습, 즉 어떤 변수를 담고 어떻게 작동할것인지 객체의 내용을 알아야 한다. 즉, 설계도를 알아야 한다. 그 설계도를 아래 코드를 통해 파악해보자.
class Calculator{int left, right;
public void setOprands(int left, int right){
this.left = left;
// ↑여기 this.은 class 초입에서 int로 정의한 변수를 가리킨다.
// = left; 에서 left는 위의 setOprand( , ) 여기 괄호안의 left를 지칭한다.
this.right = right;
}
public void sum() {
System.out.println(this.left+this.right);
// sum이라는 메소드의 식은 ↑여기서 정의되어 출력된다.
}
public void avg() {
System.out.println((this.left+this.right)/2);
// avg이라는 메소드의 식은 ↑여기서 정의되어 출력된다.
}
class Calculator는 new Calculator에 해당하는 클래스이고 그 객체의 내용은 바로 위의 코드 내용이다.
객체는 독립된 프로그램으로 볼 수 있다. 변수와 메소드의 집합으로 이해하자.
또한, setOprands라는 메소드는 바로 위 코드에서 setOprands의 내용과 같다.
이 객체가 어떻게 재활용 가능한지 아래 코드를 확인해보자.
public static void main(String[] args) {Calculator c2 = new Calculator();
//↑new Calculatorでインスタンスを生成しました.
//そのインスタンスはc 2という変数に含まれます.
c2.setOprands(20,40);
//このコードで、左が20、右が40です.
c2.sum();
出力//60.
c2.avg();
出力//30.
}
이제 클래스에 대해서 다음 게시물에서 좀 더 자세히 알아보도록 하자.
Reference
この問題について(Javaクラス、インスタンス、オブジェクト(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@enoch0403/Java-클래스-인스턴스-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol