"생성자"의 두 판 사이의 차이
greenwood26 (토론 | 기여) (→특징) |
|||
(사용자 3명의 중간 판 12개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''생성자'''(construct)란 객체 지향 프로그래밍에서 객체를 [[초기화]] 하기 위해 사용하는 | + | '''생성자'''(construct)란 객체 지향 프로그래밍에서 객체를 [[초기화]]하기 위해 사용하는 [[제어자]]이다. |
== 특징 == | == 특징 == | ||
− | * | + | * 반환값 : 생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드이며 다른 메소드와는 다르게 반환 값이 없다. |
− | : 생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드이며 다른 메소드와는 다르게 반환 값이 없다. | + | * 이름 : 생성자의 이름은 클래스의 이름과 동일하게 사용하기로 약속되어 있다.<ref>생성자 특징, <[https://opentutorials.org/module/516/5519 초기화와 생성자]>, <<개인 블로그>>, 2013-12-11</ref> |
+ | * 호출 : 분명하게 호출되는 메소드와 다르게 암묵적으로 호출된다. | ||
+ | * 기능 : 메소드는 객체의 동작을 보여주기 위해 사용하지만 생성자는 객체의 상태를 초기화 하는 데 사용한다. <ref>Java Constructor, <[https://tworab.tistory.com/52 자바 생성자]>, 2015-11-12 <<개인 블로그>>, 2015-11-12 </ref> | ||
− | * 이름 | + | == 종류 == |
− | : 생성자의 이름은 | + | * 초기 생성자 : 아무 파라미터가 없는 초기 생성자를 의미한다. |
+ | 예를들어 아래의 코드는 클래스 안에 초기 생성자를 정의한 것이고 만약 클래스에 생성자가 없다면, 컴파일러가 자동적으로 초기 생성자를 만든다. | ||
+ | |||
+ | Class <Class 이름>() | ||
+ | { | ||
+ | <Class 이름>() | ||
+ | { | ||
+ | //변수가 아닌 내용 | ||
+ | } | ||
+ | } | ||
+ | * 매개 변수 생성자 : 매개 변수(필드)라는 파라미터를 가지는 생성자를 의미한다. | ||
+ | 예를 들어 아래의 코드는 클래스 안에 매개변수 생성자를 정의한 것이고 만약 객체를 생성할 때 매개 변수가 파라미터로 초기화 되지 않는다면 객체는 생성되지 않는다.다양한 자료형이 매개변수로 활용 가능하다. | ||
+ | Class <Class 이름> | ||
+ | { | ||
+ | int <매개변수1> | ||
+ | String <매개변수2> | ||
+ | <Class 이름>(int i, String s) | ||
+ | { | ||
+ | <매개변수1> = i | ||
+ | <매개변수2> = s | ||
+ | } | ||
+ | } | ||
+ | |||
+ | == 규칙 == | ||
+ | * 생성자의 이름은 클래스 이름과 같아야 한다. | ||
+ | * 반드시 [[퍼블릭]](public)으로 선언되어야 한다. | ||
+ | * 반환형은 선언하지 않는다. | ||
{{각주}} | {{각주}} | ||
− | == | + | == 참고자료 == |
* 생성자 특징, <[https://opentutorials.org/module/516/5519 초기화와 생성자]>, <<개인 블로그>>, 2013-12-11 | * 생성자 특징, <[https://opentutorials.org/module/516/5519 초기화와 생성자]>, <<개인 블로그>>, 2013-12-11 | ||
+ | * Java Constructor, <[https://tworab.tistory.com/52 자바 생성자]>, <<개인 블로그>>, 2015-11-12 | ||
+ | * Java Programming, <[https://dalis.donga.ac.kr/dalis/Search/SearchReport.csp?FILENUM=737358 JAVA PROGRAMMING]>, <<자바 교재>>, 2011-5-15 | ||
+ | |||
== 같이 보기 == | == 같이 보기 == | ||
* [[자바]] | * [[자바]] | ||
* [[메소드]] | * [[메소드]] | ||
* [[클래스]] | * [[클래스]] | ||
+ | * [[환경변수]] | ||
+ | * [[멤버변수]] | ||
+ | |||
+ | {{프로그래밍|검토 필요}} |
2020년 8월 19일 (수) 16:38 기준 최신판
생성자(construct)란 객체 지향 프로그래밍에서 객체를 초기화하기 위해 사용하는 제어자이다.
특징[편집]
- 반환값 : 생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드이며 다른 메소드와는 다르게 반환 값이 없다.
- 이름 : 생성자의 이름은 클래스의 이름과 동일하게 사용하기로 약속되어 있다.[1]
- 호출 : 분명하게 호출되는 메소드와 다르게 암묵적으로 호출된다.
- 기능 : 메소드는 객체의 동작을 보여주기 위해 사용하지만 생성자는 객체의 상태를 초기화 하는 데 사용한다. [2]
종류[편집]
- 초기 생성자 : 아무 파라미터가 없는 초기 생성자를 의미한다.
예를들어 아래의 코드는 클래스 안에 초기 생성자를 정의한 것이고 만약 클래스에 생성자가 없다면, 컴파일러가 자동적으로 초기 생성자를 만든다.
Class <Class 이름>() { <Class 이름>() { //변수가 아닌 내용 } }
- 매개 변수 생성자 : 매개 변수(필드)라는 파라미터를 가지는 생성자를 의미한다.
예를 들어 아래의 코드는 클래스 안에 매개변수 생성자를 정의한 것이고 만약 객체를 생성할 때 매개 변수가 파라미터로 초기화 되지 않는다면 객체는 생성되지 않는다.다양한 자료형이 매개변수로 활용 가능하다.
Class <Class 이름> { int <매개변수1> String <매개변수2> <Class 이름>(int i, String s) { <매개변수1> = i <매개변수2> = s } }
규칙[편집]
- 생성자의 이름은 클래스 이름과 같아야 한다.
- 반드시 퍼블릭(public)으로 선언되어야 한다.
- 반환형은 선언하지 않는다.
각주[편집]
참고자료[편집]
- 생성자 특징, <초기화와 생성자>, <<개인 블로그>>, 2013-12-11
- Java Constructor, <자바 생성자>, <<개인 블로그>>, 2015-11-12
- Java Programming, <JAVA PROGRAMMING>, <<자바 교재>>, 2011-5-15
같이 보기[편집]