Java - 생성자 , 생성자 this(), 참조변수 this()

춤추는개발자·2022년 11월 21일
0

Java 정리

목록 보기
7/59

생성자

  • 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드 입니다.
  • 인스턴스 생성시 수행할 작업(인스턴스 변수 초기화)에 사용 됩니다.

생성자 규칙

  • 생성자의 이름이 클래스 이름과 같아야 한다.
  • 리턴값이 없다. 하지만 생성자는 이름 앞에 void 를 붙이지 않는다. 그 이유는 항상 반환값이 없기 때문이다.
  • 모든 클래스는 반드시 생성자를 가져야 한다.
  • 생성자를 만들어주지 않으면 매개변수가 없는 기본 생성자를 컴파일러가 자동으로 만들어 준다.
  • 매개변수가 있는 생성자를 만들게 되면 매개변수가 없는 기본 생성자를 컴파일러가 만들어주지 않는다. 필요하다면 직접 만들어서 사용해야 한다.

생성자 this()

  • 생성자에서 다른 생성자 호출할 때 사용 합니다.
  • 같은 클래스 내에서 생성자들끼리 호출할 때 사용 합니다.
  • 다른 생성자 호출시 첫 줄에서만 사용가능 합니다.

참조변수 this

  • 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있습니다.
  • 생성자 this() 와 참조변수 this는 연관이 없다.
  • 인스턴스 메서드(생성자 포함)에서만 사용 가능 합니다.
  • 지역변수와 인스턴스 변수를 구별할 때 사용 합니다.
 car (int a,int b,int c){ // 지역 변수와 인스턴스 변수가 다른 메서드 
     price = a;
     speed = b;
     width = c;
}

car (int price,int speed,int width){ // 지역 변수와 인스턴스 변수가 같은 메서드 
     this.price = price;
     this.speed = speed;
     this.width = width;
 }

위의 코드를 보면 지역 변수와 인스턴스 변수가 다른 메서드이면 this를 사용하지 않아도 지역변수와 인스턴스 변수를 구별할 수 있기 때문에 생략이 가능합니다. 하지만 지역 변수와 인스턴스 변수가 같은 메서드에서는 this로 지역 변수와 인스턴스 변수를 구별해 줘야 합니다.

0개의 댓글