본문 바로가기

🌱JAVA/🌱 생성자(new)

생성자(new)란?

0. 생성자의 동작 구조

- 생성자 실행 매커니즘

new 연산자는 객체를 heap 메모리 영역에 공간을 할당하고 메모리 주소를 반환 후 생성자를 실행한다.

생성자는 똑같은 객체가 있어도 서로다른 메모리를 할당하기 때문에 다른 객체로 분류되어 실행된다.

1. 생성자란?

- 클래스로부터 객체를 만드는 특별한 메소드 이다.

Cat cat0 = new Cat();
Cat cat1 = new Cat();
Cat cat2 = new Cat();

2. 생성자의 역할

- 필드를 초기화 할수 있다.

// 객체생성
Cat nero = new Cat();

// 필드 초기화(초기값 설정)
nero.name = "냥냥이";
nero.weight = 3.87;
nero.age = 3;

- 위의 코드를 한줄로 줄일수 있다.

// 객체 생성과 동시에 초기화하기
Cat cat1 = new Cat("냥냥이", 3.87, 3);

3. 생성자의 사용법

- 생성자도 메소드 이다.

- 호출과 정의가 있다.

 

호출

클래스_타입 변수명 = new 클래스_이름(전달값);

 

정의 

클래스_이름(파라미터) {

... (리턴타입이 없다.)

}

# 호출과 정의

# 예제코드

public class CatTest {
    public static void main(String[] args) {
        Cat cat1 = new Cat("냥냥이1", 3.872, 31); // 호출!!
        Cat cat2 = new Cat("냥냥이2", 3.871, 32); // 호출!!
        System.out.println();
    }
}

class Cat {
    String name;
    double weight;
    int age;

    // 생성자 객체 생성 및 초기화
    Cat(String s, double d, int i) { // 정의!!
        name = s; // 이름 초기화
        weight = d; // 무게 초기화
        age = i; // 나이 초기화
    }
}

- 끝 -