1. 생성자
생성자(Constructor)
생성자는 new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드(하지만 메소드와는 다르다.)이다. 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다.
생성자 선언 방법
생성자를 선언하는 방법은 위에 내용과 같다. 클래스라는 부분은 생성자를 정의하는 클래스의 이름과 동일하게 적어줘야 한다. 빨간색으로 표시한 부분은 필수로 적어야 하는 내용은 아니다. public에 대한 내용은 나중에 다룰 예정이고 우선은 생성자를 선언할 때는 public을 적어주면 된다.
생성자 종류 및 사용
위에서 생성자 선언하는 방법을 알아보았다. 인스턴스를 생성할 때 반드시 생성자를 호출한다고 하였다. 그런데 지금까지는 생성자를 정의하지 않았는데 어떻게 호출이 된 것일까? 그 이유는 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자(Default Constructor)를 생성하여 주기 때문이다. Default 생성자란 "public 클래스(){ }"를 의미한다.
[출처] [JAVA/자바] 생성자(Constructor)와 초기화|작성자 JOKER
JOKER's ROOM : 네이버 블로그
코딩, AI, IT, 프로그램 정보 공유 서이추 환영
blog.naver.com
2. 생성자 오버로딩
생성자를 두개 이상 구현하는 경우
외부에서 제공되는 다양한 데이터들을 이용해서 객체를 초기화하려면 생성자도 다양화 될 필요가 있습니다. 예를 들어 Car 객체를 생성할 때 외부에서 제공되는 데이터가 없다면 기본 생성자로 Car 객체를 생성해야하고, 외부에서 model 데이터가 제공되거나 model과 color가 제공될 경우에도 Car 객체를 생성할 수 있어야 합니다.
그래서 자바는 다양한 방법으로 객체를 생성할 수 있도록 생성자 오버로딩(Overloading) 을 제공합니다.
생성자 오버로딩이란 매개 변수를 달리하는 생성자를 여러 개 선언하는 것을 말합니다.
ex)
public class Car {
Car() { .. }
Car(String model) { ... }
Car(String model, String color) { ... }
Car(String model, String color, int speed) { ... }
}
등과 같이 생성자를 여러 개 선언할 수 있습니다.
하지만 예를 들어
Car(String model, String color) { .. }
Car(String color, String model) { .. }
은 오버로딩이라 할 수 없습니다.
(매개변수의 타입과 갯수, 선언된 순서가 똑같을 경우에, 매개 변수의 이름만 바꾸는 경우)
여튼, 예시와 같이 생성자를 선언했을 때, 아래 예시와 같이 다양한 방법으로 Car 객체를 생성할 수 있습니다.
ex2)
Car car1 = new Car();
Car car2 = new Car("소나타");
Car car3 = new Car("소나타", "흰색");
Car car4 = new Car("소나타", "흰색", 120);
-> 위의 예시 ex) 와 비교하여 살펴보면
new Car()는 기본 생성자로 객체를 생성하고, new Car("소나타")는 Car(String model) 생성자로 객체를 생성합니다.
출처: https://jwprogramming.tistory.com/123 [개발자를 꿈꾸는 프로그래머]
Java - (7) 생성자 오버로딩(Overloading)
외부에서 제공되는 다양한 데이터들을 이용해서 객체를 초기화하려면 생성자도 다양화 될 필요가 있습니다. 예를 들어 Car 객체를 생성할 때 외부에서 제공되는 데이터가 없다면 기본 생성자로
jwprogramming.tistory.com
3. 참조 자료형
4. 접근 제어자
올인원 패키지 : JAVA 웹 개발 마스터👉https://bit.ly/35aoeAW
'패스트캠퍼스 환급 챌린지' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {9} 회차 미션 (0) | 2020.11.10 |
---|---|
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {8} 회차 미션 (0) | 2020.11.09 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {6} 회차 미션 (0) | 2020.11.07 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {5} 회차 미션 (0) | 2020.11.06 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {4} 회차 미션 (0) | 2020.11.05 |