Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

RussellHouse

[Java] 15. Initiation 본문

Java

[Java] 15. Initiation

러셀가의 집사 2017. 12. 21. 15:16

 

Initiation 



 java에서 생성자를 생성하는 방법은 클래스 내부에 클래스와 동일한 이름의 함수를


정의해주면 된다. 


구체적인 예시는 다음과 같다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package org.opentutorials.javatutorials.constructor;
class Calculator {
int left, right;
public Calculator(int left, int right) {
this.left = left;
this.right = right;
}
public void sum() {
System.out.println(this.left + this.right);
}
public void avg() {
System.out.println((this.left + this.right) / 2);
}
}
public class CalculatorDemo1 {
public static void main(String[] args) {
Calculator c1 = new Calculator(10, 20);
c1.sum();
c1.avg();
Calculator c2 = new Calculator(20, 40);
c2.sum();
c2.avg();
}
}



7행에 아래와 같은 내용이 추가 되었다


이것이 바로 생성자이다.


1
2
3
4
public Calculator(int left, int right) {
this.left = left;
this.right = right;
}



생성자는 그 이름처럼 객체를 생성할 때 호출된다. 


25행은 위의 생성자를 이용해서 객체를 생성하는 방법을 보여준다.



1
Calculator c1 = new Calculator(10, 20);





생성자 덕분에 Calculator 객체를 사용하기 위해서 

사실상 반드시 필요한 작업이라고 할 수 있는 좌항(left)과 우항(right)의 값을 설정하는 과정을

 객체 생성 과정에서 강제할 수 있게 되었다. 

절차를 하나 줄인 것뿐이지만, 객체를 사용하기 위해서는 객체를 생성해야 한다는 사실은

기본적으로 숙지하고 있는 절차이기 때문에 이 절차에 필수적인 작업을 포함시킨다는 것은

 중요한 의미를 갖게 된다.




생성자의 특징


생성자의 특징은 아래와 같이 정리할 수 있다.


1. 값을 반환하지 않는다. 


생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 

그런데 반환 값이 있다면 엉뚱한 객체가 생성될 것이다. 

따라서 반환 값을 필요로하는 작업에서는 생성자를 사용하지 않는다.

 반환 값이 없기 때문에 return도 사용하지 않고, 

반환 값을 메소드 정의에 포함시키지도 않는다.



2. 생성자의 이름은 클래스의 이름과 동일하다.


자바에서 클래스의 이름과 동일한 메소드는 생성자로 사용하기로 약속되어 있다.






'Java' 카테고리의 다른 글

[Java] 19. Classpath  (0) 2017.12.22
[Java] 18. Overloading  (0) 2017.12.22
[Java] 17. Override  (0) 2017.12.22
[Java] 17. Inheritance  (0) 2017.12.22
[Java] 14. Scope  (0) 2017.12.21
Comments