//생성자 입니다.^^ 내용을 보아하니 '인스턴스 초기화 메서드'라고 하네..
//얼래?인스턴스 XX화?? 많이 듣던 놈인데...한번 보니..new 어쩌구 저쩌구에서 나왔던 놈이다..
//바로 '인스턴스 변수'를 사용하려면 사실 'new'를 이용하여 '인스턴스화'를 시키자너~~
//근데 글쎄.. 그동안 앞에서 썼던 클래스안에 자동으로(기본)으로 기본 생성자를 그동안 알아서 만들어 줬다네..
//예문을 보자!

package JavaTest;

class Data1{                        //Data1이라는 클래스를 하나 만들었어..그안에 int 로 value값을 만들었고..
 int value;
}

class Data2{                       //Data2라는 클래스를 하나 만들었고.. 똑같이 value를 하나 선언했어..
 int value;
 
 //Data2(){};               // ★<-- 이친구는 저 밑에서 설명할께 지금은 쌩까~!
 
 Data2(int x){                  //요놈이 바로 '생성자' ~~ 첨엔 메서드 처럼 보였는데...앞에 아무것도 없자나..void라든가
  value = x;                  // 형식이 없어서... 생성자 형식은 "클래스(){}" <--요거임 간단하네~ㅋ
 }                                   //근데 잘 봐야 하는게...Data2하고 그안에 매개변수 x라는 놈이 하나 있어...
}                                       // 매개변수 형식 하고 개수 요놈을 잘 기억해야해..


public class ConstructorTest {

 public static void main(String[] args) {

  //자 그럼~~ main에서 한번 사용해보자! 우선 클래스 안에 '인스턴스 변수'를 써먹어야 하니 인스턴스화 시키자!
  Data1 d1 = new Data1();
  //Data2 d2 = new Data2();    //<-- 썅~ 빨간줄 뜬다.....감이 오지? Data2클래스에서 생성자로 '초기화'를 어떤식으로
                                          // 시켰냐면  'int x'로 한개를 초기화해랏!!하고 시켰으면서 정작 밑에서는 () <-아무것도
                                          //없는 놈을 '인스턴스화' 시켜라 하니 빨갱이 줄이 떠버렸어.. 여기까지 이해됐으면 PASS
  
  Data2 d2 = new Data2(10);   // <--요게 바로 정답이쥐~!! int x 요값을 넣어주면 형식도 맞고 갯수도 맞고 딱이지.ㅋ  
  
                                            //★ 별표시된거 봤지? 위에거 안쓸려면 두개 똑같이 비워주면 된다는것! 에효 정신없다.ㅋ
 }

}

 

Posted by 옆모습오빠
: