Java

[Java] this. 와 this() / 생성자

꿈꾸는야오옹 2023. 5. 12. 17:35

this.

this는 객체 자신을 가르친다. 자신의 객체에 접근 할 때 사용된다.

주로 멤버변수와 메소드의 매개변수의 이름이 동일할 때, 이를 구분하기 위해 사용된다.

 

사용예제
public class People{

  //멤버변수
  int age;

  //메소드
  void setAge(int a){
    age = a;
  }
}

위에서 매개변수 a의 이름을 멤버변수와 같게 하여 사용하고 싶으면 아래와 같이 this 키워드를 이용하면 된다.

 

public class People{

  //멤버변수(필드)
  int age;

  void setAge(int age){
    this.age = age;
    //멤버변수 = 인자
  }
}

 

 

this()

this()는 같은 클래스에서 생성자가 다른 생성자를 호출할 때 사용된다.

- 생성자 코드에서만 사용 할 수 있다.

- 생성자 코드 안에서 사용 될 때 첫번째 문장으로 사용해야한다.

- 주로 코드의 중복을 줄일 목적이다.

 

 

 

생성자

new를 통해 인스턴스를 생성할 때 가장 먼저 실행되는 것. 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다.

 인스턴스를 생성할 때 반드시 생성자를 호출한다고 하였다. 그런데 지금까지는 생성자를 정의하지 않았는데 어떻게 호출이 된 것일까?
그 이유는 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본생성자(Default Constructor)
를 생성하여 주기 때문이다.

 

특징 (메소드와의 차이점)

- 생성자는 반드시 클래스명과 동일하게 정의하여야 한다.

- 생성자 앞에는 접근 제어자(public 등)만 올수 있다. (메소드는 static과 같은 수식어를 작성할 수 있다.)

- 반환값이 없으므로 void나 자료형을 작성할 수 없다. (메소드는 void나 자료형이 있어야 한다.)

그 외에도 상속이 되지 않는 등 특징이 있다.

 

 

 

 

https://kadosholy.tistory.com/92

 

[Java] 자바 - this와 this( )의 용도 및 사용예제

자바 - this와 this( )의 용도 및 사용예제 자바 프로그램 작성시 생성자에서 많이 보게되는 this와 this( )에 대해서 알아보도록 하겠습니다. 1. this와 this( )의 용도 1) this는 객체 자신을 가리키는 레퍼

kadosholy.tistory.com

 

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=heartflow89&logNo=220955879645 

 

[JAVA/자바] 생성자(Constructor)와 초기화

 이전 포스팅에서 인스턴스를 생성할 때 "클래스 객체변수 = new 클래스();" 라는 구문을 사용하고 이...

blog.naver.com