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);
}
}
'JAVA > JAVA' 카테고리의 다른 글
자바 개념 - 추상클래스와 추상메소드 설명 (0) | 2016.06.12 |
---|---|
자바 개념 - method overloading 과 method overriding 비교 (0) | 2016.06.12 |
자바 개념 - 생성자에 대한 설명과 주의사항 (0) | 2016.06.12 |
자바 추상메소드 abstract 관련 설명 (0) | 2016.06.12 |
자바 컬렉션 프레임워크에 대한 설명 (0) | 2016.06.12 |