서로 관련있는 데이터들을 하나의 단위로 묶어두면 편할 것이다! 라는 생각에
클래스라는 개념이 등장하는 가장 기본적인 이유이다.
클래스는 하나의 타입이다.
(사용자 정의 타입)
package section1;
public class Person1 {
public String name; //field, data memeber
public String number;
}
Person1 클래스 생성
package section1;
public class code01 {
public static void main(String[] args) {
Person1 first = new Person1(); //object
first.name="John";
first.number="01012345678";
System.out.println("Name : " + first.name + "," + "Number : " + first.number);
Person1[] members= new Person1[10];
members[0] = first;
members[1] = new Person1();
members[1].name = "David";
members[1].number = "01098765432";
System.out.println("Name : " + members[1].name + "," + "Number : " + members[1].number);
}
}
Person1타입 으로 first변수를 만들고
직접 데이터를 넣어주어서 확인해보고
Person1타입 배열 members를 만들고
데이터를 넣어줬다!
first 라는 변수에는 new로 만든 객체의 주소가 저장이된다
Person1 first;
- 아직 객체는 생성되지 않고 변수 first만 만들어진다 이때 변수의 값은 null이다
first = new Person();
- new Person1() 명령에 의해 객체가 만들어지고 first에 그 주소를 저장한다.(참조하게됨)
first.name = "John"; first.number = "01023456";
-first가 참조하고 있는 Person1 타입의 객체의 name, number라는 이름의 필드에 데이터를 저장한다.
모든 프리미티브 타입의 변수는 보통 변수이다.
즉 변수 자체에 값이 저장된다.
프리미티브 타입이 아닌 모든 변수는 참조변수이다.
즉 실제 데이터가 저장될 "객체"는 new명령으로 따로 만들어야 하고, 참조변수에는 그 객체의 주소를 저장한다.
'알고리즘 with 자바 > 자료구조' 카테고리의 다른 글
| 클래스, 객체, 참조변수 3 (0) | 2021.06.22 |
|---|---|
| 클래스, 객체, 참조변수 2 (0) | 2021.06.21 |
| 문자열 다루기 2 (0) | 2021.06.19 |
| 문자열 다루기 (0) | 2021.06.19 |
| 메소드 호출과 프로그램의 기능적 분할 (0) | 2021.06.17 |