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 | 29 | 30 | 31 |
Tags
- 윤성우의 열혈 자료구조
- Serialization
- Graph
- insertion sort
- 혼자 공부하는 C언어
- stream
- 이스케이프 문자
- list 컬렉션
- Selection Sorting
- JSON
- C 언어 코딩 도장
- 알기쉬운 알고리즘
- Stack
- R
- coding test
- C programming
- s
- Algorithm
- buffer
- datastructure
- 메모리구조
- 윤성우 열혈자료구조
- 이것이 자바다
Archives
- Today
- Total
Engineering Note
[Java] this 키워드 본문
this 키워드
- Java에서 this는 현재 객체, 자기 자신을 나타낸다.
Car class
public class Car {
String name;
int number;
public Car(String name){
name = name;
}
}
만약 위와 같이 Car Class를 생성하고 Main Class에서 Car 인스턴스를 만들어 Car의 name을 출력하게 되면 null 값이 출력된다. Car class의 생성자 메소드에서 name을 받아서 name에 값을 대입하는 코드는 사실 Car 필드, 인스턴스 변수 name에 값을 넣는 것이 아니라 매개 변수name 에 매개변수 name으 로 받은 값을 넣는 다는 의미다. 자바는 가장 가까운 블록의 변수를 가져와 사용하기 때문이다.
Main
public class Main {
public static void main(String args[]){
Car c = new Car("car!!");
System.out.println(c.name);
}
}
이러한 문제를 해결하기 위해 this 키워드가 사용된다. 아래와 같이 Car Class를 수정 하고 main에서 실행하면 정상적으로 원하는 값이 대입된 것을 확인할 수 있다.
public class Car {
String name;
int number;
public Car(String name){
this.name = name; // this 키워드 사용 자기자신 필드 name을 명시
}
}
정리하면
this.name에서 name은 필드 name을 의미하고 대입연산자(=) 뒤에 name은 매개 변수를 의미한다. 즉 매개변수의 값을 필드에 대입하라는 의미이다.
'Programming Language > Java' 카테고리의 다른 글
[Java] Dependency (0) | 2022.09.02 |
---|---|
Window에 Java 파일 여러개 설치 feat batch (0) | 2022.08.03 |
[Java] 변수의 scope와 static (0) | 2022.07.09 |
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 자바와 절차적/구조적프로그래밍 (0) | 2022.04.22 |
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 기계어에서 객체 지향 프로그래밍 언어로 (0) | 2022.04.21 |
Comments