본문 바로가기
JAVA

[JAVA] - this와 this()

by nam_ji 2024. 1. 27.

this와 this()의 용도 및 사용예제

this와 this()의 용도

  • this란
    • 객체 자신을 가리키는 레퍼런스 변수로, 자신의 객체에 접근할 때 사용됩니다.
      1. 주로 멤버변수와 매개변수의 이름이 동일할 때 이를 구분하기 위해 사용합니다.
  • this()란
    • 같은 클래스에서 생성자가 다른 생성자를 호출할 때 사용됩니다.
      1. 주로 코드의 중복을 줄일 목적으로 사용됩니다.
      2. this()는 생성자 코드에서만 사용할 수 있습니다.
      3. this()는 생성자 코드안에서 사용될 때 첫번째 문장으로 다른 코드보다 가장 윗줄에 위치해야 합니다.

this와 this() 사용예제

  • Book 클래스 정의
    • public class Book {
          String title;
          int price;
      
          public Book () {
              this("???", 1111);
          }
      
          public Book (String title) {
              this(title, 2222);
          }
      
          public Book (String title, int price) {
              this.title = title;
              this.price = price;
          }
      
          public void showPrice() {
              System.out.println(title + "의 가격은 " + price + "원 입니다.");
          }
      }
      
      class HelloWorld {
          public static void main(String[] args) {
              Book b1 = new Book();
              Book b2 = new Book("타이틀");
              Book b3 = new Book("테스트", 3333);
      
              b1.showPrice();
              b2.showPrice();
              b3.showPrice();
          }
      }
      
      /*
      ???의 가격은 1111원 입니다.
      타이틀의 가격은 2222원 입니다.
      테스트의 가격은 3333원 입니다.
      */​
       
      1. this는 객체 자신에 대한 레퍼런스 변수로, this.price는 멤버변수 price를 나타냅니다.
      2. this()는 생성자 안에서 다른 생성자를 호출하므로, this(title, 0);는 매개변수 2개를 가진 생성자를 호출하게 됩니다.

 

'JAVA' 카테고리의 다른 글

[JAVA] - 추상화 / 캡슐화 / 상속 / 다형성  (0) 2024.01.30
[JAVA] - super와 super()  (0) 2024.01.29
[JAVA] - 생성자  (0) 2024.01.27
[JAVA] - Naming Convention  (1) 2024.01.27
[JAVA] - Static(정적)이란  (0) 2024.01.23