본문 바로가기

JAVA/JAVA

자바 개념 - this, this()에 대한 구별

반응형


this, this() 에 대하여 구별하여 설명


this 란?

: 생성자나 메소드 내에서 쓰임

생성자나 메소드의 매개변수이름을 의미 있는 이름으로 정해 주다 보면 멤버변수 이름과 겹치게 된다.

이때 멤버변수 자신을 구별할 목적으로 사용된다.


<예제 순서>

1. 매개변수를 의미없게 사용한 것

2. 매개변수가 우선순위이기에 멤버변수는 변하지 않는 것

3. 매개변수를 의미있게 사용한 것


<코드1>

class Person{

String name;

int age;


public Person( String n, int a){

name = n;

age = a;

}

}


<코드2>

class Person{

String name;

int age;


public Person( String n, int a){

name = name;

age = age;

}

}


<코드3>

class Person{

String name;

int age;


public Person( String name, int age){

this.name = name;

this.age = age;

}

}



this() 란?

: 생성자에서만 사용

생성자가 중복되어 있을때 또 다른 생성자를 호출하고자 할 때 사용

반드시 첫번째 문장에 와야한다.

==> 주의 : 자신을 호출하면 곤란


<예제 순서>

1. 잘못된 방법 : 생성자 내에서 계속 자신을 호출하는 것

2. 가능한 방법


<코드1>

class Person{

Person(){


}


Person( String name, int age){

this(name, age);

}

}


<코드2>

class Person{

Person(){

this("홍길동", 20);

}


Person( String name, int age){

this(name, age);

}

}



반응형