Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Class
- github
- DATAPATH
- html
- instruction
- architecture
- for
- DoM
- mysql
- Pipelining
- MIPS
- MacOS
- php
- Java
- function
- Algorithm
- data structure
- computer
- react
- XML
- Linux
- python
- while
- DB
- system
- control
- web
- javascript
- CSS
- DS
Archives
- Today
- Total
YYYEJI
[JAVA] This와 Shadowed field 이해하기 본문
728x90
This란?
This는 instance 변수임을 명시할 때 사용합니다.
Shadowed Fields의 개념도 같이 살펴보겠습니다.
Shadowed Fields
↓↓↓ 첫 번째 예제 ↓↓↓
public class p {
private String name;
private int age;
public void setName (String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge (int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
코드를 살펴보면 P class의 instance 변수로 name과 age가 선언된 것을 확인할 수 있습니다.
그리고 setter(setName, setAge)을 살펴보면 parameter로 Instance 변수와 동일한 이름의 변수 이름이 들어옵니다.
이때 instance member field를 shadowed field라고 합니다.
다른 경우도 살펴봅시다.
↓↓↓ 두 번째 예제 ↓↓↓
public class p {
private String name;
private int age;
private void person_info() {
String name;
int age;
}
}
instance 변수로 name과 age가 선언 되었고,
class 안에 존재하는 method에서도 name과 age과 선언되었습니다.
다른 field에서 선언된 두 변수의 이름이 같은 이러한 경우에도 shadowed field라고 합니다.
이러한 경우에 instance member를 부르고 싶을 때 첫 번째 예제처럼 this를 사용하게 됩니다.
사용은 아래와 같이 합니다.
public class p {
private String name;
private int age;
public void setName (String name) {
this.name = name;
}
public void setAge (int age) {
this.age = age;
}
}
this.name(or this.age)은 instance 변수이고, name(or age)은 parameter의 변수입니다.
◡̈
'Java' 카테고리의 다른 글
[JAVA] Pass by Value와 Pass by Reference의 차이점 (0) | 2022.12.26 |
---|---|
[JAVA] Format parameter와 Actual parameter 이해하기 (0) | 2022.12.26 |
[JAVA] Main method 이해하기 (0) | 2022.12.26 |
[JAVA] 클래스 다이어그램(Class Diagram)이란? (0) | 2022.12.26 |
[JAVA] 클래스(Class)와 메소드(Method)란? (0) | 2022.12.26 |