gambae programing
생성자 본문
생성자
new연산자로 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당
객체 초기화
- 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것
- 생성자를 실행하지 않고는 클래스로부터 객체를 만들 수 없음
- 생성자가 성공적으로 실행되면 힙 영역에 객체가 생성되고 객체의 번지를 리턴
- 리턴된 객체의 번지는 클래스 변수에 저장
생성자 선언
- 메소드와 비슷한 모양을 가지고 있으나 , 리턴 타입이 없고 클래스 이름과 동일
- 모든 클래스는 생성자가 반드시 존재하며 , 생성자를 하나 이상 가질수 있음
- 클래스 내부에 생성자 선언을 생략했다면 컴파일러는 기본 생성자를 바이트 코드에 자동 추가
[ pubilc ] 클래스 () { } // 기본 생성자
[ public ] 클래스 (매개변수 선언) { 객체의 초기화 코드 } // 사용자 정의 생성자
통상적으로 필드와 동일한 이름을 갖는 매개 변수를 사용
필드와 매개 변수 이름이 동일하기 때문에 해당 필드에 접글할 수 없는데,
나를 나라고 하듯이 객체가 객체 자신을 나타내는 this를 사용
생성자 오버로딩
매개 변수를 달리하는 생성자를 여러 개 선언하는 것
Car car1 = new Car();
Car car2 = new Car("그랜져");
Car car3 = new Car("그랜져","흰색");
Car car4 = new Car("그랜져","흰색",300);
this()
필드 초기화 내용은 한 생성자에만 집중적으로 작성하고 나머지 생성자는 초기화 내용을 가지고 있는 생성자를 호출
'Java > Grammer' 카테고리의 다른 글
사원 관리 프로그램 (1/2) (0) | 2022.07.15 |
---|---|
메소드 (0) | 2022.07.15 |
필드 (0) | 2022.07.15 |
객체 지향 프로그래밍 (0) | 2022.07.11 |
배열 (0) | 2022.07.03 |
Comments