본문 바로가기
* Web/[Back] Java

[Java] 자바 : 쉬운 예시로 생성자 개념 알아보기

by codinguser 2021. 3. 7.

 

 

 

Q1)

자바에서 등장하는 생성자 라는 개념이란 무엇일까?

 

A1)

생성자 : 클래스로부터 객체를 만들어내는 메소드

 

부연)

자바에서 객체와 클래스의 관계는 땔래야 땔 수 없는 관계이다. 그렇기 때문에 항상 이 두 가지의 범주에서 생각을 항상 가지고 가야한다.

 

클래스는 객체를 만들기 위한 하나의 설계도이며

객체는 만들어진 하나의 물품이다.

 

 

 

Q2) 그렇다면 왜 생성자를 사용 할까?

 

 

A2)

객체 생성뿐만 아니라 초기화의 역할을 해주기 때문에 코드가 간결해지게 된다.

 

 

Ex)

일반적으로는 객체 생성 후 초기화의 과정을 거쳐야 한다.

 

Car c = new Car(); /* 해당 Car() 부분이 생성자 */

 

c.name = "abc";

c.speed = 100;

c.weight = 10;

 

↓(생성자 사용)

 

 

Car c1 = new Car("abc", 100, 10); /* 객체 생성과 동시에 초기화로 인해 한 줄로 깔끔해졌다. */

 

 

 

 

 

 

 

Q2) 생성자는 어떻게 사용할까?

 

 

 

A3) 크게 호출, 정의 2가지의 관점에서 살펴보자

 

호출 : 클래스_타입 변수명 = new 클래스_이름(인자 값);

 

정의 : 클래스_이름(파라미터 값) {

         ...      리턴타입X

 

         }  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main {  
  public static void main(String args[]) { 
    Car c = new Car("abc",100,10);
  } 
}
 
class Car {
  String name;
  int speed;
  int weight;
 
  Car(String n, int s, int w){
    name = n;
    speed = s;
    weight = w;
  }
}
 
cs

 

+ 디폴트 생성자에 대한 이해)

: 생성자가 없을 경우 자동으로 기입(파라미터 및 중괄호 내부가 없는 형태다)

 

class Car {

    String name;

    int hp;

 

    Hero(){

    }

}

댓글