클래스에 정의한 변수들을 멤버변수 == 필드라고 한다.
클래스 - 설계도
public class Student {
//학생 클래스를 정의
//멤버 변수 선언
String name;
int age;
int grade;
}
멤버변수 : 특정 클래스에 소속된 변수
위 코드에서는 "name, age, grade"에 해당함
필드 : 데이터 항목을 가르키는 용어
클래스 (설계도)를 이용하여 메모리에 만들어진것 - 객체, 인스턴스
public class ClassStart_3 {
public static void main(String[] args) {
Student student_1;
student_1 = new Student();
student_1.name = "학생1";
student_1.age = 15;
student_1.grade = 90;
Student student_2;
student_2 = new Student();
student_2.name = "학생2";
student_2.age = 16;
student_2.grade = 80;
System.out.println(student_1);
System.out.println(student_2);
System.out.println("이름 : " + student_1.name + " 나이 : " + student_1.age + " 성적 : " + student_1.grade);
System.out.println("이름 : " + student_2.name + " 나이 : " + student_2.age + " 성적 : " + student_2.grade);
}
}
new Student를 통해 Student클래스에 있는 정보 만큼의 메모리를 확보하여 생성함.
참조값을 보관함 (주소)를 반환함

클래스 - 객체의 대략적인 구조

필기에는 1번지, 2번지라고 이해하기 쉽게 표현했지만 실제로는 문자+숫자로 이루어진 값에 저장되는 듯 하다.
객체를 사용하기 위해서는 객체에 접근을 해야함 이떄 “ . “ 을 사용하여 접근
student_1.name = "학생1"
//student_1
//주소값 -> "1번지"
//name = "학생1"
//age = 15;
//grade = 90;
student_1.name = "학생1"
//1번지의(stduent_1의 주소값) "name" 멤버변수에 "학생1"을 대입시켜라
위 경우에는 변수 “student_1”에 있는 주소값(참조값)을 읽어와 메모리에 존재하는 객체에 접근한다