[JAVA] 36. this - Cat 생성자

문정준's avatar
Feb 11, 2025
[JAVA] 36. this - Cat 생성자

고양이 문제

  • Cat 클래스를 만들어, 인스턴스를 생성하고 이름, 색을 초기화하여 고양이의 상태를 출력하는 프로그램을 작성하시오.
 

문제 분석

  • 이름과 색을 초기화 : 상태 - 이름, 색
    • 생성자 직접 생성 필요
  • 이름과 색을 각각 반환하는 메서드 생성 필요
 

코드 작성

package ex04; class Cat { private String name; private String color; public Cat(String name, String color) { // this > heap 공간 내부의 객체 참조 this.name = name; this.color = color; } public String getName() { return name; } public String getColor() { return color; } } public class CatTest { public static void main(String[] args) { // main stack > Cat stack // 상위 stack에 있는 변수는 하위 stack에서 참조 가능 Cat cat1 = new Cat("Tom", "Blue"); System.out.println("고양이 이름 : " + cat1.getName()); System.out.println("고양이 색깔 : " + cat1.getColor()); } }
 

결과

notion image
 
내용 정리
  1. 생성자를 만들 때, 클래스 내부의 참조 변수매개 변수를 구분하기 위해 this 사용
      • this를 사용하지 않으면 매개 변수를 참조 변수와 구분할 수 있도록 이름 변경 필요
  1. 생성자를 만들어서 매개 변수를 넣으면, 매개 변수는 Cat stack에 저장
      • stack은 종료되면 데이터가 사라지므로 초기화함으로써 heap 공간에 저장
 
Share article

sxias