Java 키워드 'this'

NasK!m_311·2022년 8월 20일
0

Java

목록 보기
20/39
post-thumbnail

💡 this란?

= 자기 자신을 의미하는 키워드.
클래스 안에서 this를 사용하여 "자기자신"을 표현한다.

💡 this를 사용하여 지역변수와 멤버변수 구분하기.

class User{
	String name;			-> 전역변수(멤버변수)
    
    public void setName(){
    	String name;		-> 지역변수
        name = "사용자";
    }
}

-> 멤버변수와 지역변수가 동일한 이름으로 공존할 경우, 
	유효성의 범위가 작은 변수가 우선적으로 인식된다.

-------------------------------------------------------------------------------
class Student{
	String name							-> 전역변수(멤버변수)
    
    public void setName(String name){	-> 파라미터(지역변수)
    	this.name = name;
    }
}

-> 파라미터도 해당 메소드 안에서만 유효한 지역변수의 일종이다.

-> 파라미터를 사용하여 멤버변수의 값을 간접적으로 설정하고자 할 경우,
	변수의 이름을 서로 다르게 사용하는 것보다는 이름은 동일하게 지정하고 this 키워드를 사용하여
    	멤버변수와 파라미터를 구별하는 것이 Java언어의 일반적인 처리방식이다.
        
-> 모든 멤버변수 앞에는 this 키워드를 사용하여 멤버변수임을 직관적으로 표시하는 것이
	소스코드의 가독성을 위해서 바람직하다.

💡 현재 클래스의 메소드를 의미하는 용도로서의 this.

class User{
	public String getName(){
    	String name = "자바학생";
        return name;
    }
    public void sayName(){
    	String myName = this.getName();
        System.out.println(myName);
    }
}

-> getName()을 호출하는 메소드는 this 키워드를 사용하여 
	현재 클래스 안에 포함된 다른 메소드임을 명시하고 있다.

-> 하지만, 메소드의 경우 다른 클래스의 메소드를 이름만으로 호출할 수 있는 방법이 없기 때문에,
	this.getName()이 아닌, getName()만 사용하더라도 코드 가독성의 문제는 없다.
profile
메리아빠, 먹다가 죽어도 되는 개발자.(살뺴자....)

0개의 댓글