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 |
Tags
- mysql docker
- java
- 데이트
- mysql on docker
- 백준
- streamsets 강의
- 알고리즘
- 자바
- C언어
- 도커 시작하기
- 도커 elk
- 클라우드
- 정보처리기사
- 도커
- 스트림셋
- 앤서블 설치
- ansible install
- MySQL
- 파이썬
- 데이터베이스
- c
- 도커 mysql
- nvidia docker
- 코딩
- c++
- elk stack
- 푸시푸시
- docker
- 스트림셋이란?
- python
Archives
- Today
- Total
리그캣의 개발놀이터
this, this() 이해하기 본문
this 와 this()는 다르다
super 와 super() 또한 다르다
this는 현재 클래스의 인스턴스를 가리킨다.
super는 부모 클래스를 가리킨다.
현재 클래스의 인스턴스에 있는 속성이나 함수를 제어하려면 this.setName()을 하고 부모 클래스의 함수를 호출하고 싶으면 super.setName()을 입력한다.
this 사용할때 예제
- 클래스의 속성과 매개변수의 이름이 같을때
public
class
생성자 {
public
String name;
public
String color;
public
double
weight;
public
Fruit(String name, String color,
double
weight) {
name = name;
color = color;
weight = weight;
}
public
static
void
main(String[] args) {
Fruit banana =
new
Fruit(
"banana"
,
"yellow"
,
5.0
);
System.out.println(
"name : "
+ banana.name);
System.out.println(
"color : "
+ banana.color);
System.out.println(
"weight : "
+ banana.weight);
}
}
위에 처럼 작성하게 되면 매개 변수의 이름과 Fruit 에 내에 지역변수 이름이 같기 때문에 Fruit 객체의 name 속성에 값이 저장되지 않는다. 이렇기 때문에 Fruit 인스턴스를 가리키는 this 키워드를 사용해야 한다.
public
class
Fruit {
public
String name;
public
String color;
public
double
weight;
public
Fruit(String name, String color,
double
weight) {
this
.name = name;
this
.color = color;
this
.weight = weight;
}
public
static
void
main(String[] args) {
Fruit banana =
new
Fruit(
"banana"
,
"yellow"
,
5.0
);
System.out.println(
"name : "
+ banana.name);
System.out.println(
"color : "
+ banana.color);
System.out.println(
"weight : "
+ banana.weight);
}
}
this() 사용 예제
- 오버로딩된 다른 생성자 호출할때
this()는 자기자신의 생성자를 호출함으로서 생성자의 초기화 과정을 반복하지 않아도 된다.
class
UpperClass {
int
x;
int
y;
public
UpperClass() {
x =
10
;
y =
20
;
}
public
UpperClass(
int
x) {
this
();
// 자신의 클래스 public UpperClass() 생성자 호출
this
.x = x;
}
public
UpperClass(
int
x,
int
y) {
this
(x);
// 자신의 클래스 public UpperClass(int x) 생성자 호출
this
.y = y;
}
}
출처: http://mainia.tistory.com/85 [녹두장군 - 상상을 현실로]
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[Eclipse] 자동 완성 단축키 (0) | 2018.03.08 |
---|---|
[JAVA] for문 심화 학습 (0) | 2018.03.06 |
[JAVA] switch 문에 string 값 대조하기 (0) | 2018.03.06 |
[JAVA] 배열 선언 (0) | 2018.03.06 |
Eclipse 단축키 정리 (0) | 2018.03.06 |
Comments