1. 생성자(Burger)를 이용하여 객체를 초기화하는 코드
package ex04;
class Burger {
String name;
int price;
// 생성자
public Burger(String n, int p) { // stack에 있는 데이터
name = n; // 초기화 코드 (heap에 저장할 수 있도록 해줌)
price = p; // 초기화 코드 (heap에 저장할 수 있도록 해줌)
}
}
public class BurgerTest {
public static void main(String[] args) {
Burger b1 = new Burger("기본버거", 2000); // 객체의 초기화
System.out.println(b1.name);
System.out.println(b1.price);
// b1.name = "기본 버거"; -> 이렇게 하면 안된다. 왜냐? 직접 변경이기때문에, 상태는 행위로만 변경할 수 있음
// b1.price = 2000; -> 이렇게 하면 안된다. 왜냐? 직접 변경이기때문에, 상태는 행위로만 변경할 수 있음
}
}

2. 생성자(Cat)를 이용하여 객체를 초기화하는 코드
package ex04;
class Cat {
private String name;
private String color;
public String getName() {
return name;
}
public String getColor() {
return color;
}
public Cat(String name, String color) {
this.name = name; // this 는 heap을 가르킨다.
this.color = color; // this 는 heap을 가르킨다.
}
}
public class CatTest {
public static void main(String[] args) {
Cat c1 = new Cat("톰", "하얀색");
System.out.println(c1.getName());
System.out.println(c1.getColor());
}
}

Share article