티스토리 뷰
반응형
#. this()
> this 예약어
- 생성자나 메서드의 매개변수 이름이 객체 변수의 이름과 같은 경우
- 객체 변수 이름 앞에 this를 사용해서 구별
- 멤버 변수와 매개변수 이름을 구분하여 프로그램의 가독성을 높임
> this() 생성자
- 같은 클래스 내의 Overloading 된 다른 생성자 메서드를 호출할 때 사용
> 예) 초기화 코드가 중복되어있는 생성자
- 다양한 변수들을 선택적으로 초기화하기 위해 생성자를 다양하게 Overloading 함
- 각 생성자마다 중복되는 초기화 코드가 있음
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 | public class Employee { int employeeNo; String name; int age; int salary; // 기본 생성자 형태의 생성자 public Employee() { this.employeeNo = 0; this.name = "Annoymity"; this.age = 0; this.salary = 0; } public Employee(int employeeNo, String name) { this.employeeNo = employeeNo; this.name = name; } public Employee(int employeeNo, String name, int age) { this.employeeNo = employeeNo; this.name = name; this.age = age; } } | cs |
> 예) this()를 사용하여 중복되는 초기화 코드를 최소화한 경우
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class Employee { int employeeNo; String name; int age; int salary; // 기본 생성자 형태의 생성자 // Employee Aaron = new Employee(); public Employee() { this(0, "Anonymity", 0, 0); } // Employee Aaron = new Employee(12123, "박지훈"); public Employee(int employeeNo, String name) { this.employeeNo = employeeNo; this.name = name; } // Employee Aaron = new Employee(12123, "박지훈", 25); public Employee(int employeeNo, String name, int age) { this(employeeNo, name); this.age = age; } } | cs |
출처 : SW Expert Academy
반응형
'Web > JAVA' 카테고리의 다른 글
[JAVA] Eclipse에서 JAVA로 디버깅하기 (2) | 2019.07.26 |
---|---|
[JAVA] 매개변수(Call by value, Call by reference), 가변적 매개변수 (1) | 2019.07.26 |
[JAVA] 생성자 Overloading (0) | 2019.07.26 |
[JAVA] 메서드 Overloading (0) | 2019.07.26 |
[JAVA] 이클립스 메서드 자동 구현 (Getter/Setter, toString) (0) | 2019.07.25 |
댓글