The Debugging Chronicles : "코드의 미학"
Mentor JAVA - section09. 생성자 본문
생성자의 특징
- 생성자란?
· 클래스를 구성하는 구성요소 중 하나로, 객체를 생성할 때 호추로디어 객체의 초기화를 담당하는 특별한 메서드이다.
· 객체를 생성하고 초기화를 하기 위해서는 반드시 생성자를 호출해야하기 때문에 객체를 생성해야하는 모든 라이브러용 클래스는 모두 생성자를
가지고 있다.
· 반환 타입이 없으며, 클래스 이름과 동이하다는 특징이 있다.
· 생성자의 호출 위치는 정해져 있으며, 클래스를 기반으로 객체를 생성할 때 new와 함게 사용하여 호출된다.
- 기본 생성자
· java의 모든 클래스에는 하나 이상의 생성자가 정의되어 있어야 하기 때문에 자바 컴파일러가 기본 생성자를 자동으로 제공해준다.
우리 눈에만 안 보일 뿐 생략되어 있다.
· 단, 개발자가 직접 생성자를 선언한다면, 기본 생성자는 자동으로 선언되지 않는다.
- 생성자 선언 이유
· 객체를 사용하기 위해 객체를 메모리에 올리기 위해선 객체가 초기화 될 필요가 있으며, 이를 위해 생성자가 선언되는 것이다.
· 객체 멤버에 접근이 가능한 일반 메서드처럼 객체 멤버의 데이터를 초기화 하기 위해 사용된다.
· 생성자 역시 매개변수를 통해 값을 전달할 수 있기 때문에 각각의 개체의 필드값이 다를 때 사용된다.
생성자 오버로딩
- 오버로딩
· 생성자/메소드의 이름이 같더라도 받는 매개변수의 값이 다르다면, 동일한 이름으로 선언이 가능한 것을 말한다.
· 매개변수 없이, 또는 1개, 2개 등 외부에서 제공할 수 있는 데이터만큼 생성자를 다양한 형태로 선언할 수 있는 것을 '생성자 오버로딩'이라고
한다.
· 매개 변수의 갯수만이 아닌 매개변수의 자료형에 따라서도 오버로딩을 구현할 수 있다.
this와 this()
- this : 객체 자기 자신 스스로 참조
· 인스턴스가 바로 자기 자신을 참조하는 데 사용하는 변수를 말한다.
· this를 필드에 붙여서 사용하면, 중괄호{ } 안에서도 같은 이름의 매개변수와 필드를 구분해서 사용된다.
- this()
· 생성자의 코드가 중복될 경우 this를 사용하여 중복되는 코드를 줄일 수 있다.
'JAVA > Mentor JAVA' 카테고리의 다른 글
Mentor JAVA - section11. 다형성과 타입 변환 (0) | 2024.07.22 |
---|---|
Mentor JAVA - section10. 상속 (0) | 2024.07.21 |
Mentor JAVA - section08. 메서드 (0) | 2024.07.19 |
Mentor JAVA - section07. 클래스 (0) | 2024.07.19 |
Mentor JAVA - section06. 배열 (0) | 2024.07.17 |