일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- bootstrap
- 메소드
- start.spring.io
- Short
- 콜렉션
- 무한
- boxing
- Scanner
- Jenkins
- 박싱
- 언박싱
- 싱글턴
- 싱글톤
- 스프링
- 제너릭
- dependency
- 컬렉션
- https://start.spring.io
- 인텔리제이
- 빌드
- wrapper
- suvlet
- maven
- unboxing
- 클래스
- Java
- 루프
- 제네릭
- 자동형변환
- 내장객체
Archives
- Today
- Total
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());
}
}
새우깡
'K-DigitalTraining 강의 > 1. Java' 카테고리의 다른 글
[2주차] 40. 객체 생성시 호출되는 '생성자' (0) | 2022.05.25 |
---|---|
[2주차] 39. 객체로 배열 만들기 (0) | 2022.05.25 |
[2주차] 37. 클래스 내에 setter, getter 멤버함수가 필요한 경우(private 변수) (0) | 2022.05.24 |
[2주차] 36. 메서드 오버라이딩(feat. 상속)* (0) | 2022.05.24 |
[2주차] 35. 메서드 오버로딩* (0) | 2022.05.24 |
Comments