Keep Going

[Java] 생성자 본문

Study/JAVA

[Java] 생성자

seon 2019. 8. 23.
반응형

[생성자]인스턴스를 생성하는 자

Calculator c1 = new Calculator();
c1.setOprands(10,20);
c1.sum();       
c1.avg();

--> 이렇게 setOprands가 있어야 Calculator의 두 인자가 만들어졌었어.

 

근데 이게 너무 번거롭고 빼먹기도 너무 쉽자나. 그래서 아예 인스턴스를 만들 때 초기화 시켜버리자! 해서 나온 개념이 생성자랍니다~!!!


Calculator c1 = new Calculator(10, 20);
c1.sum();
c1.avg();

--> 이렇게 만들고 싶은거야!


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();
    }
 
}
    public Calculator(int left, int right) {
        this.left = left;
        this.right = right;

--> 클래스 이름하고 똑같은 클래스메소드가 만들어지는걸 생성자라고 부른다!

--> 이게 있었기 때문에

Calculator c1 = new Calculator(10, 20);

이렇게 생성자를 사용하여 Calculator 클래스형인 c1객체를 생성한거지! 사실은!!


** 생성자 특징 **

1. 생성자의 이름은 클래스 이름하고 똑같다.(약속)

2. 앞에 new를 붙인다.

3. 값을 반환하지 않는다. :  return 값이 필요하지 않고, 반환값을 메소드 정의에 포함시키지도 않는다.

 

 

반응형

'Study > JAVA' 카테고리의 다른 글

[JAVA 공부] 20191220  (0) 2019.12.20
[Java] 클래스 멤버와 인스턴스 멤버  (0) 2019.08.23
[Java] 클래스와 인스턴스 그리고 객체  (0) 2019.08.19
[Java] 객체 지향 프로그래밍  (0) 2019.08.19
입력과 출력  (0) 2019.08.19