티스토리 뷰
자바에서 this 키워드는 자기 자신을 의미한다.
자기 자신을 의미한다는 것임 무슨 뜻일까?
| this
animal 클래스는 인스턴스 변수로 name과 type을 가지고 있다. 또한 생성자에서 매개변수로 name과 type을 받고 있는데, 이때 인스턴스 변수 name과 type을 구별하기 위해 this 키워드를 사용한다.
this 키워드를 사용함으로써 this.name 은 인스턴스 변수를 지칭하고,
name은 받은 매개변수 그대로 매개변수 name을 지칭하게 된다.
만약 매개변수 name 값으로 spell가 들어온다면,
아무 값도 없는 인스턴스 변수 name에 spell라는 값이 들어가게 된다.
| this()
Animal이라는 생성자는 2개 있다.
생성자 1에서 this()를 사용하고 있는데,
이는 자신(Animal)의 다른 생성자를 호출하게 된다.
생성자1을 실행할 경우 this(DefaultName, DefaultType)를 사용했기 때문에
매개변수로 DefaultName, DefaultType 을 사용하여
생성자2를 호출하게 된다.
이렇게 생성된 Animal 객체는
name 에는 DefaultName이라는 값을,
type 에는 DefaultType이라는 값을 가지게 된다.
자바에서는 C에 있는 포인터가 없지만 this 키워드를 사용하여 포인터 비슷한 역할을 수행할 수 있다. 다른 키워드로 super 라는 키워드가 있는데 this 와의 차이점은 부모 클래스를 지칭한다는 점에서 차이가 있다. 만약 B 클래스가 A 클래스로부터 상속을 받고, B 클레스에서 A 에 해당하는 필드값(메소드도 가능)을 지칭하고 싶다면 super.필드명 을 사용하여 부모 클래스의 필드값을 지칭할 수 있다.
'Programing > JAVA' 카테고리의 다른 글
자바 오버로딩과 오버라이딩의 차이점은? (0) | 2020.08.20 |
---|---|
[JAVA] 자바 배열 선언 (0) | 2020.07.30 |
JAVA 자바 - 데이터 타입 (0) | 2020.07.28 |
- Total
- Today
- Yesterday
- 자급제
- 크롬브라우저
- 탭복구
- 인터넷기록
- 배열선언
- 우클릭 방지
- 유튜브오류
- LinkedList
- 과일꿈
- 7일차
- 알뜰폰
- 자바
- 부모클래스
- 한글인식
- 1366
- 애드블록
- 아스키코드표
- 도망가는꿈
- ASCII Code Table
- 자식클래스
- 티스토리
- 재생id
- 셀프개통
- 유튜브ID에러
- 직접유입
- 방문기록
- 방문자수
- 크롬
- 콜백함수
- 자급제폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |