티스토리 뷰
#. 생성자
> 생성자의 개념
- 생성자(Constructor)는 클래스로부터 객체를 생성할 때 호출되며, 객체의 멤버 변수를 초기화하는데 사용하는 메서드
- 객체를 생성할 때 객체에 필요한 값들을 초기화하는 개념은 배열과 동일
- 객체 생성 및 생성된 객체에 필요한 데이터를 초기화하는 과정을 단순화하여 코드의 양을 줄이는 역할을 수행하는 것이 생성자
- 생성자를 이용하여 생성된 객체의 멤버 변수에 적절한 값들을 설정할 수 있음
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 | class Employee { String name; // 멤버 변수 int number; int age; String title; String dept; String grade; // 생성자 public Employee(String n1, int n2, int a, String t, String d, String g) { name = n1; number = n2; age = a; title = t; dept = d; grade = g; } } Employee Kim = new Employee(); // 생성자를 사용하지 않았을 경우 kim.name = "김길동"; kim.number = 1233; kim.age = 25; kim.title = "연구원"; kim.dept = "개발팀"; kim.grade = "A"; Employee Kim = new Employee("김길동", 1233, 25, "연구원", "개발팀", "A"); // 생성자를 사용한 경우 | cs |
> 생성자의 특징
- 생성자는 클래스와 같은 이름을 가진 특별한 메서드로 객체 생성 시 멤버 변수의 초기화를 담당
- 생성자 안에는 객체의 초기화에 필요한 코드가 기술
- 일반 멤버 메서드와 달리 반환형(Return Type)이 없음. void도 미허용
- 생성자는 이름은 같지만 매개변수를 달리하여 여러 개를 중복정의(Overloading)할 수 있음
- 생성자 키워드 'new'와 항상 같이 사용(생성자는 객체를 생성할 경우에 사용되므로 "new 생성자()"와 같은 구문으로 호출
- 명시적으로 작성하지 않을 경우, 기본 생성자가 제공
- 생성자의 선언 부분에는 접근 권한과 관련된 Modifier가 올 수 있음
- 접근 권한
ㄴ public : 모든 클래스엥서 접근 가능
ㄴ protected : 동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근 가능
ㄴ private : 클래스 내에서만 접근 가능
#. 생성자 자동 생성
1. 특정 클래스에 멤버 변수들을 선언
2. 작성된 클래스에서 [Alt] + [Shift] + [S] 단축키를 누른 후, Generate Constructor using Fields 선택
3. 초기화하고 싶은 변수를 체크 후 생성
4. 결과 확인
출처 : SW Expert Academy
'Web > JAVA' 카테고리의 다른 글
[JAVA] 상속과 멤버(변수, 메서드) (2) | 2019.08.08 |
---|---|
[JAVA] 자바의 상속 (0) | 2019.08.08 |
[JAVA] 자바의 Modifier (static, final, abstract) (0) | 2019.08.05 |
[JAVA] Eclipse에서 JAVA로 디버깅하기 (2) | 2019.07.26 |
[JAVA] 매개변수(Call by value, Call by reference), 가변적 매개변수 (1) | 2019.07.26 |