[JAVA] 37. 클래스와 객체 (3)생성자 예제

서회정's avatar
Feb 12, 2025
[JAVA] 37. 클래스와 객체 (3)생성자 예제

💡
객체가 생성될 때 객체를 초기화하는 특수한 메소드.
개발자가 생성자를 정의하지 않아도 자바에서 기본 생성자를 자동으로 만듬.

1. BurgerTest예제

코드

package ex04; class Burger { private String name; //상태 private int price; //상태 //변경되지 않는 상태는 final public String getName() { return name; } public int getPrice() { return price; } // 생성자 => 사용법이 메서드랑 똑같음(호출할 때 열림) => stack에 생김 public Burger(String n, int p) { name = n; // =>heap에다가 값을 옮겨놓는거임 price = p; // =>위랑 같음 , 이걸 초기화라함. } } public class BurgerTest { public static void main(String[] args) { Burger b1 = new Burger("기본버거", 2000); // => new는 생성자를 호출하는 코드 // b1.name = "기본버거"; // b1.price = 2000; System.out.println(b1.getName()); System.out.println(b1.getPrice()); } }

결과

notion image
 

2. CatTest예제

코드

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) { //생성자도 스택이 있다. //생성자는 항상 자기를 호출한 상위 class를 찾을 수 있다. this.name = name; // this는 heap을 가리킴. this.color = color; } } public class CatTest { public static void main(String[] args) { Cat cat = new Cat("Kitty", "White"); System.out.println(cat.getName()); System.out.println(cat.getColor()); } }

결과

notion image
 

3. TelevisionTest 예제

코드

package ex04; class Television { private int channel; // 채널번호 private int volume; // 볼륨 private boolean onOff; // 전원 상태 Television(int c, int v, boolean o) { channel = c; volume = v; onOff = o; // => 생성자가 정의됨 } void print() { System.out.println("채널은 " + channel + "이고 볼륨은 " + volume + "입니다."); } } public class TelevisionTest { public static void main(String[] args) { Television myTv = new Television(7, 10, true); myTv.print(); Television yourTv = new Television(11, 20, true); yourTv.print(); } }

결과

notion image
 
Share article

clubnerdy