Nuke Olaf - Log Store
[JAVA] 자바 - 생성자란 무엇인가? 본문
생성자에서 "생성"을 사전에서 찾아보았다.
사전에서는 생성자를 다음과 같이 정의한다.
사물이 생겨남, 또는 사물이 생겨 이루어지게 함
나의 정의 - 생성자란?
생성자란, 객체가 처음 생성될때 클래스 내의 변수들의 값이 초기화되게 하는 것이다.
생성자를 프로그래머가 만들지 않는다면, 객체의 변수들은 기본 생성자를 통해 아무런 변화 없이 클래스에 적혀있는대로 만들어진다.
하지만, 객체를 처음 생성할 때부터 객체의 변수에 어떤 값을 주고 싶다면, 생성자를 직접 정의하면 된다.
객체를 처음 생성할 때, 내가 정의한 생성자의 매개변수에 값을 대입하면, 그 인자에 따라 객체의 필드가 초기화 된다.
< 생성자의 특징 >
모든 클래스는 인스턴스화할 때 생성자를 사용한다.
생성자는 객체를 처음 생성할때, 필드(클래스 내의 attribute(속성))를 초기화하는 역할을 수행한다.
생성자를 프로그래머가 만들지 않으면, 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다.
매개변수가 없는 생성자를 기본생성자라고 한다.
생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다.
- 반환값이 없는 메소드는 생성자가 유일하다.
생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 반환 값이 없기 때문에 return도 사용하지 않고, 반환 값을 메소드 정의에 포함 시키지도 않는다. - 생성자의 이름은 클래스의 이름과 동일하다.
자바에서 클래스의 이름과 동일한 메소드는 생성자로 사용하기로 약속되어 있다. - 생성자는 매개변수에 따라서 여러 개를 만들 수 있다. 이중에 필요에 따라 객체를 생성시에 선택할 수 있다.
https://opentutorials.org/module/516/5519
https://programmers.co.kr/learn/courses/5/lessons/168
http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220955879645
https://www.opentutorials.org/module/2495/14065
'Language > [JAVA]' 카테고리의 다른 글
[JAVA] 자바 "..." 이게 뭘까? (가변인자, varargs) (0) | 2020.01.02 |
---|---|
[JAVA] 자바 - 필드(field) 전역변수, 멤버변수 (0) | 2019.11.24 |
[객체지향 프로그래밍] 캡슐화(encapsulation) (0) | 2019.11.24 |
[JAVA] 자바 - 매개변수, 인자란 무엇인가? (0) | 2019.11.23 |
[JAVA] 자바 - 메소드란 무엇인가? (0) | 2019.11.23 |