- 하나의 클래스 설계로 여러 개의 객체를 만들 수 있다.
- 자바 프로그램을 실행 시켰을 때 메모리를 할당 받느다
- 연산자를 통해 Heap 메모리 영역에 올라가는 객체에 접근을 할 수 있다.
package ch06;
// 코드를 설계 하는 측
public class User {
String name;
int age;
String email;
}
package ch06;
// 코드를 실행 하는 측
public class UserMainTest {
public static void main(String[] args) {
// User user1 = new User();
// User user2 = new User();
// User user3 = new User();
// 변수에 선언(참조 자료형)
User user1 = new User();
System.out.println("user1 : " + user1);
} // end of main
}
package ch06;
public class Bus {
String name;
int number;
String color;
}
package ch06;
public class BusMainTest {
public static void main(String[] args) {
Bus b1 = new Bus();
b1.name = "마을 버스";
b1.number = 6;
b1.color = "파란색";
System.out.println(b1.name);
System.out.println(b1.number);
System.out.println(b1.color);
}
}
package ch06;
// 1. 클래스를 설계 하는 측
public class Warrior {
// 멤버 변수
// 멤버 변수를 초기화 하지 않으면
// 인스턴스화(메모리에 올리다) 될 때
// 기본 값으로 초기화 된다.
// 속성(상태) 설계
String name;
int hp;
int power;
int dp;
String color;
double weight;
boolean isDie;
}
package ch06;
public class WarrirorMainTest1 {
// 코드를 실행하는 측
public static void main(String[] args) {
// 메인 지역
// 지역 변수
int a = 10;
Warrior w1 = new Warrior();
w1.name = "아마데우스";
w1.hp = 100;
w1.power = 30;
w1.dp = 10;
w1.color = "빨간색";
// w1 주소값을 화면 객체에 정보를 출력 하자.
System.out.println(w1.color);
System.out.println(w1.name);
System.out.println("------------");
Warrior w2 = new Warrior();
System.out.println(w2.hp);
System.out.println(w2.weight);
System.out.println(w2.isDie);
// null 값이 없다.
System.out.println(w2.name);
Warrior w3 = new Warrior();
}
}