티스토리 뷰

반응형


#. 생성자


> 생성자의 개념

  - 생성자(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("김길동"123325"연구원""개발팀""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


반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday