Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[2주차] 38. 'this' 멤버변수 이름과 매개변수 이름이 같을 때 사용해야 하는 것 본문

K-DigitalTraining 강의/1. Java

[2주차] 38. 'this' 멤버변수 이름과 매개변수 이름이 같을 때 사용해야 하는 것

이대곤 2022. 5. 24. 12:47

* 멤버변수 이름과 매개변수 이름이 같다면, 멤버변수는 객체의 멤버변수임을 this를 통해 명시해줘야 한다.

   그렇지 않으면 우선순위에 의해서 두 이름 모두 같은 멤버변수로 인식해

   null로 초기화 되어 있는 변수에 다시 자신을 넣는 것이라 또다시 null이 대입되어 아래와 같은 결과가 나오는 것이다.

내가 예상했던 결과가 나오지 않는 코드

class Product {
	private String name;
	
	void setName(String name) {
		name = name;	// 문제가 되는 부분
	}
	
	String getName() {
		return name;
	}
}

public class Ex05_13_setter_getter {
	public static void main(String[] args) {

		Product p1 = new Product();
		p1.setName("새우깡");	
		
		System.out.println(p1.getName());
		
	}
}
null

내가 예상했던 결과가 나오는 코드

class Product {
	private String name;
	
	void setName(String name) {
		this.name = name;
	}
	
	String getName() {
		return name;
	}
}

public class Ex05_13_setter_getter {
	public static void main(String[] args) {

		Product p1 = new Product();
		p1.setName("새우깡");	
		
		System.out.println(p1.getName());
		
	}
}
새우깡

 

Comments