[JAVA] this 와 this()

JoJo·2023년 8월 29일
0

💡 Java this 키워드


✔️ this 키워드의 개념

this는 객체 자신을 가르키는 레퍼런스 변수로, 자신의 객체에 접근할 때 사용됩니다.


✔️ this 키워드의 역할

  1. 자기 자신의 메모리를 가르킵니다.

  2. 생성자에서 다른 생성자를 호출할 경우 사용합니다.

  3. 인스턴스 자신의 주소를 반환할 때 사용합니다.


1-1. 자기 자신의 메모리를 가르킵니다.

public class Member {
	// 필드
	private String memberId;
    
    // getter, setter
    public String getMemberId() {
        return memberId;	// 자신의 주소를 반환한다.
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;	// 필드값을 가르킨다.
    }
}

이때, this 키워드를 사용하지 않으면 매개변수 이름과 대입하는 이름이 똑같기 때문에 구분할 수 없어서 에러가 발생합니다.


2-1. 생성자에서 다른 생성자를 호출할 경우 사용합니다.

public class Member {
	
	String memberId;
    String memberName;
    
    public Member() {
    	this("user01", "김이름");	// 하단 생성자 호출
    }
    
    public Member(String memberId, String memberName) {
    	this.memberId = memberId;
        this.memberName = memberName;
    }
    

3-1. 인스턴스 자신의 주소를 반환할 때 사용합니다.

public class Member {

	private String memberId;
    private String membername;
    
    public Member(String memberId, String memberName) {
    	this.memberId = memberId;
        this.memberName = memberName;
    }
    
    public Member getMember() {
    	return this;
    }
}

Member 클래스에서 반환 타입을 Member로 설정한 getMember 메소드에서 반환 시 this를 반환합니다.


💡 Java this()


✔️ this()의 개념

같은 클래스에서 생성자가 다른 생성자를 호출할 때 사용합니다.


✔️ this()의 특징

  • 주로 코드의 중복을 줄일 목적으로 사용됩니다.

  • this()는 생성자 코드에서만 사용할 수 있습니다.

  • this()는 생성자 코드안에서 사용될 때 첫번째 문장으로 다른 코드보다 가장 윗줄에 위치해야합니다.

profile
꾸준히

0개의 댓글