※멤버 변수,필드 클래스에 소속된 변수를 뜻한다

※객체, 인스턴스 클래스는 설계도이고, 이 설계도를 기반으로 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.

※변수선언, 객체생성, 참조값 보관

Student student1 = new Student(); //1. new 키워드를 통해 heap영역에 Student 객체 생성 //2. new Student()의 결과로 x001 참조값을 stack에 있는 변수student1에반환

Student student1 = x001; student1 = x001; //3. 최종 결과

Untitled

※객체에 값 대입

student1.name="학생1" //1. student1 객체의 name 멤버 변수에 값 대입 x001.name="학생1" //2.변수에 있는 참조값을 통해 실제 객체에 접근, 해당 객체의 name 멤버 변수에 값 대입

Untitled

※객체 값 읽기

System.out.println("이름:" + student1.name); //1. 객체 값 읽기

Untitled

※클래스와 배열

package class1;

public class ClassStart4 {
 public static void main(String[] args) {
 Student student1 = new Student();
        student1.name = "학생1";
        student1.age = 15;
        student1.grade = 90;
 Student student2 = new Student();
        student2.name = "학생2";
        student2.age = 16;
        student2.grade = 80;
 Student[] students = new Student[2];
        students[0] = student1;
        students[1] = student2;
 System.out.println("이름:" + students[0].name + " 나이:" + students[0].age 
+ " 성적:" + students[0].grade);
 System.out.println("이름:" + students[1].name + " 나이:" + students[1].age 
+ " 성적:" + students[1].grade);
    }
 }

Untitled

배열 선언 최적화 Student[] students = new Student[]{student1, student2};

Student[] students = {student1, student2};

//생성과 선언을 동시에 하는 경우 다음과 같이 더 최적화 할 수 있다