이전 다뤘던 클래스의 생성자에 대해 좀 더 추가적인 설명을 하고자 한다,
생성자
1. 객체를 생성할 때 new 키워드와 함께 사용한다. -> ex) new Student();
2. 클래스 이름 () {} -> 기본 문법
3. 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체 생성을 위해 new 와 함께 호출
4. 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출
5. 생성자는 반환값이 없고, 클래스 이름과 동일
6. 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우 있음
1. 기본 생성자
1. 클래스에는 반드시 적어도 하나 이상의 생성자가 존재
2. 클래스에 생성자를 구현하지 않아도, new 키워드와 함께 생성자 호출 가능
3. 클래스에 생성자가 하나도 없어도 컴파일러가 생성자 코드를 넣어준다!! -> ex) public Student(){}
즉, 기본 생성자를 굳이 구현안해도 알아서 만들어줌
4. 매개 변수가 없고, 구현부가 없음(기본 생성자만!)
2. 생성자 매개 변수 받기
위와 같이 변수가 넘어오는 것들을 받아서 현재 클래스의 멤버 변수에 넣을 수 있음
(this로 기존 class의 멤버 변수를 가리키자)
만약, 매개 변수를 받는 생성자만을 작성했다면
이렇게 오류가 나는데 이는, 매개 변수를 받는 것으로 정의하지 않았기 때문
이렇게 수정해야함 -> 만약 위와 같은 오류가 나지 않도록 하려면
위와 같이 디폴트 생성자를 하나 만들어 줘야한다.
3. 생성자 오버로딩
1. 생성자를 구현해서 사용 가능
2. 클래스에 생성자를 따로 구현하면 기본 생성자는 제공되지 않음
3. 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음
'Programming 언어 > JAVA' 카테고리의 다른 글
7. STATIC 변수, 메서드 및 응용 (0) | 2023.08.30 |
---|---|
6. 참조 자료형 변수, 접근 제어 지시자 및 정보 은닉, 객체 자신을 가리키는 this (0) | 2023.08.29 |
4. 자바 클래스 및 함수와 메서드 (0) | 2023.08.27 |
3. 자바의 배열 (0) | 2023.08.27 |
2. 자바의 기초 (0) | 2023.08.27 |