본문 바로가기
Java

자바 중급 015. 매개 변수가 있는 생성자 (constructor)

by Smart Factory in 2020 2021. 9. 3.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 
매개변수가 있는 생성자에 대해 알아보겠습니다. 

1. 매개변수가 있는 생성자

가. 생성자(constructor)

생성자는 이름이 클래스와 같아야 한다. 
리턴값이 없다. 
모든 클래스는 하나 이상의 생성자를 가져야 한다. 
여러개를 가져도 된다. 

나. 매개변수가 있는 생성자 

클래스 이름 ( 타입 변수명, 타입 변수명,...)
{인스턴스 변수 초기화 내용 }

기본 생성자 
car(){}
매개변수가 있는 생성자
car (String c, String g, int d)
  {
   color= c;  --> 차량 색상
   geartype=g; --> 기어 타입
   door=d;  --> 문 수 
   }
생성자를 작성할때 { } 안에는 인스턴스 초기화 내용을 적어줍니다. 

기본 생성자의 경우 기본 값이 있어서 서술되기는 하지만 값을 지정해 주면 해당 값이 서술되는 것을 볼 수 있습니다. 

package ch06;
class car{
String color;
String geartype;
int door;

 car(){}
 car (String c, String g, int d)
  {
   color= c;
   geartype=g;
   door=d;
   }
 void show() {
 System.out.println(" 차량정보 ");
     System.out.println(" 차량 색 :"+ color+" 기어 타입 :"+geartype
      + " door 수 :"+ door) ;
 }
}

public class Ex6_11 {

public static void main(String[] args) {
     car c1=new car("black","auto",4);
     car c2=new car();
     System.out.println(c1);
     System.out.println(c2);
     c1.show();
     c2.show();

}

}

 

c1 의 경우 매개 변수 값을 black auto, 4가 반영되어 메소드에 의해 출력되었고 

c2의 경우 매개변수 값이 지정되지 않아 기본 값으로 스트링의 경우 null, int 형의 경우 0이 출력된 것을 볼 수 있습니다. 

다. 매개변수가 있는 생성자(기본값 설정)

 

매개변수가 있는 생성자의 경우 매개 변수를 2개로 하고 해당 변수가 3개인 경우 { } 안에 초기화 변수값을 지정하면 됩니다. 

car(String c, String d){
 color=c;
 geartype=d;
     door=4; 
 }

차량의 색상과 기어 타입은 선택이 되지만 door의 수는 고정 4가 되게 하였습니다.

물론 c3. door를 사용하여 도어도 변경이 됩니다.  

package ch06;
class car{
String color;
String geartype;
int door;

 car(){}
 car (String c, String g, int d)
  {
   color= c;
   geartype=g;
   door=d;
   }
 car(String c, String d){
 color=c;
 geartype=d;
     door=4; 
 }
 void show() {
 System.out.println(" 차량정보 ");
     System.out.println(" 차량 색 :"+ color+" 기어 타입 :"+geartype
      + " door 수 :"+ door) ;
 }
}

public class Ex6_11 {

public static void main(String[] args) {
     car c1=new car("black","auto",4);
     car c2=new car();
     car c3=new car("white","auto");
     System.out.println(c1); 
     System.out.println(c2);
     System.out.println(c3);
     c1.show();
     c2.show();
     c3.show();
   
}

}

c3.door=5를 넣어주면 c3차량정도에 door수가 4로 변경된 것을 알 수 있습니다. 

 

매개 변수가 있는 경우는 인스턴스 초기화 값을 일정 값으로 넣어서 시작할 수 있습니다. 추후에 변경도 되기 때문에 코드를 단순화 시킬수 있습니다. 

728x90
반응형

댓글