JAVA/개념

자바 Study this와 this() Part 12

세언이 2022. 10. 6. 12:21
반응형

this란 무엇일까?🤔

this와 this()의 차이는 무엇일까?🤷‍♀️

 

 

12. this와 this()

깨알 Tip) 변수이름을 정할 때 의미가 같다면 같은 이름을 사용해야지 가독성이 떨어지지 않는다.

 

this : 객체 자신을 참조할 수 있도록 쓰는 키워드      

public class TempThis {
	private int check;

	public void setChecking(int c) {
		check = c;
	}
	
	public void setChekcing(int check) {
		this.check = check;
	}
}

위 예제는 멤버변수 check와 매개변수 c의 의미는 같기에 아래와 같이 동일한 이름으로 선언할 때 필드(멤버변수 혹은 인스턴스 변수)보다 지역 변수의 우선순위가 높아 지역 변수인 매개변수를 의미하게 된다.

 

그렇기에 this를 사용해서 this가 생성자에 의해 생성된 객체 자신을 가리키기 때문에 멤버 필드와 매개변수를 구별할 수 있다.

 

this() : 생성자에서 다른 생성자를 호출할 수 있도록 기존 생성자를 나타낸다.

class TempThisEx2 {
	int jungSu;
	String color;

	public TempThisEx2(int junSu, String color) { 
		this.jungSu = junSu;         // this.color를 위에 먼저 써도 상관없다.
		this.color = color;
	}

	public TempThisEx2(int junSu) { 
		this(junSu, "그린");          // 매개변수가 있는 기존 생성자를 호출하는데 순서가 int형, 문자형이기 때문에 순서를 맞춰준다.
	}

	public TempThisEx2(String color) { 
		this.color = color;          // 똑같이 매개변수가 있는 기존 생성자를 호출하는데 만약 값이 없다면 초기값으로 넣어진다.

	}

	public TempThisEx2() { 
		this(9, "핑크");
	}
}

 

 

 

여러분들의 도움이 되었으면 하는 바램과 함께 다음장에 계에에속

반응형