[Ava]OOPクラス(クラス)とオブジェクト(オブジェクト)


クラスとオブジェクト
クラス(Class)
:オブジェクトの定義、オブジェクトの作成に使用します.
オブジェクトの状態を表すフィールドと、オブジェクトの動作を表す方法で構成されます.
クラスとオブジェクトの定義
クラスオブジェクト製品設計図製品
  • クラス:オブジェクトを定義する
  • オブジェクト:実際に存在するオブジェクト
  • クラスを宣言するとき、
    コンストラクション関数とメソッドは必須です.**
    (オプション)
    なぜクラスを単独で使用するのですか?
    専門性のために複数のクラスを作成します.
    すべての交換は不要
    //이해를 위한 예시
    국어 - 선생님1
    영어 - 선생님2
    수학 - 선생님3
    ...
    クラスの構成メンバー
    public class ClassName{
        //필드(Field) -  객체의 데이터가 저장되는 곳
        int fieldname;
        
        //생성자(Constructor) - 객체 생성 시 초기화 역할 담당
        ClassName() {
        ...;
        }
        
        //메소드(Method) - 객체의 동작에 해당하는 실행 블록
        void methodName(){
        ...;
        }
        
    }
  • フィールド(Field):クラス内の変数、コンストラクション関数、およびメソッド全体に使用されます.
  • メソッド:特定のタスクを実行するコマンドセット.オブジェクトの動作に対応するブロック.
  • ジェネレータ(Constructor):new演算子を呼び出します.クラス名で命名する.
  • オブジェクト
    オブジェクト=インスタンス
    オブジェクトにインスタンス(instance)を含む一般的な意味
    クラスを定義する場合、オブジェクトのプロパティは変数として定義され、機能はメソッドとして定義されます.
    //객체의 구성요소
    class Tv {
        //객체의 속성 : 크기, 길이, 색상, 채널, 전원상태...
        //객체의 속성은 변수로 정의한다.
        String color;
        boolean power;
        int channel;
        
        //객체의 기능 : 켜기, 끄기, 볼륨 높이기, 채널 높이기...
        //객체의 기능은 메소드로 정의한다.
        void power() {power=!power;}
        void channelUp(channel++;)
        void channelDown{channel--;}
    }
    インスタンスの作成
    クラス名参照変数名;//参照変数を宣言してオブジェクトを処理
    参照変数名=newクラス名();//オブジェクトの作成後に作成されたオブジェクトのアドレスを参照変数に格納
    //객체 생성 예시
    Car mycar = new Car(); //객체 생성
    myCar.accelerate(60,3);
    //마이카 인스턴스 accelerate()메소드를 호출함 
    Tv t; 
    t=new Tv();
    
    //한 개의 실행문으로도 작성 가능
    Tv t=new Tv();
    インスタンスの作成と使用
    Tv t1=new Tv();
    Tv t2=new Tv();
    t2=t1; //t1의 값을 t2에 저장
    t1.channel=7;
    System.out.prinln(t1.channel);
    System.out.prinln(t2.channel);
    クラスの別の定義
    1)クラス=データ+関数の組合せ
    構造体+関数
    - 변수 : 하나의 데이터를 저장할 수 있는 공간
    - 배열 : 같은 타입의 여러 데이터를 저장할 수 있는 공간
    - 구조체 : 타입에 관계없이 서로 관련된 데이터를 저장할 수 있는 공간
    2)クラス-ユーザー定義タイプ:
    プログラマは自分で新しいタイプを定義できます
    関連する値を組み合わせてタイプとして定義
    //3가지 인티저를 class Time으로 묶을 수 있다. 
    class Time {
        int hour;
        int minute;
        int seconds;
    }
    
    //사용
    Time t=new Time();