클래스의 멤버 변수를 직접적으로 가져다 사용하지 않으며, getter/setter를 이용하자.
멤버 변수와 관련된 로직을 변경한다면, 멤버 변수를 사용하는 모든 곳에서 코드 변경이 필요하고 이는 비효율적이다.
variable shadowing이 발생하지 않는 경우에는, this를 생략한다.
클래스 내부에서 멤버 필드와 메소드를 사용하면, 컴파일러가 자동으로 this 키워드를 명시해준다.
💡 variable shadowing이란?
특정 scope(e.g. method, inner class 등)에 선언된 변수와 같은 이름을 가진 변수가 외부 scope에도 선언된 경우, 높은 우선순위를 가진 내부 scope 변수가 우선적으로 사용되어 외부 scope 변수가 가려지는 현상을 의미한다.