Java Constructor 

자바 생성자



자바에서 constructor 생성자는 객체를 초기화 하기 위해 사용하는 메소드의 특별한 타입입니다.  


자바 생성자는 객체 생성의 시간에 호출되고, 값을 구성해서 객체에게 데이터를 제공합니다. 

생성자라고 불리는 이유죠.






자바 생성자를 만들기 위한 규칙


기본적으로 생성자를 정의하는 2가지 규칙이 있습니다.


 1. 생성자 이름은 클래스 네임과 같아야 합니다.

 2. 생성자는 명시된 리턴 타입이 없어야 합니다. 





 자바 생성자의 타입

 


 1. 초기 생성자 






 2. 매개 변수 생성자 


 

 



생성자와 메소드 사이의 차이 


 

 Java Constructor

 Java Method

 생성자는 객체의 상태를 초기화 하는 데 사용한다.

 메소드는 객체의 동작을 보여주기 위해 사용한다.

 생성자는 리턴 타입을 가지지 않아야 한다.

 메소드는 리턴 타입을 가져야만 한다. 

 생성자는 암묵적으로 호출된다.

 메소드는 분명하게 호출된다. 

 만약 어떤 생성자도 없다면, 자바 컴파일러는 초기  생성자를 제공한다. 

 어떤 경우에도 메소드는 제공되지 않는다.  

 생성자 네임은 클래스 네임과 같아야 한다.

 메소드 네임은 클래스 네임과 같거나 같지 않아도 된다.  



Java Copy Constructor


자바에는 카피 생성자가 없습니다. 하지만 여러분은 C++의 카피 생성자처럼 하나의 객체의 값을 다른 객체로 카피할 수 있습니다. 


 여기에는 몇 가지 방법이 있습니다.

  

 1- 생성자를 통해

 2- 하나의 객체 값을 다른 객체로 할당하는 것을 통해

 3- 객체 클래스의 clone() 메소드를 통해



 아래 예를 통해, 여러분은 한 객체의 값을 자바 생성자를 사용하는 다른 객체로 카피 할 수 있습니다. 




class Student6{

    int id;

    String name;

    Student6(int i,String n){

    id = i;

    name = n;

    }


    Student6(Student6 s){

    id = s.id;

    name =s.name;

    }

    void display(){System.out.println(id+" "+name);}


    public static void main(String args[]){

    Student6 s1 = new Student6(111,"Karan");

    Student6 s2 = new Student6(s1);

    s1.display();

    s2.display();

   }

}


 output

111 Karan

111 Karan




Constructor 를 제외하고 값을 카피하기


객체 값을 다른 객체에 배정하는 것을 통해 카피 할 수 있습니다. 이때에는 생성자를 만들 필요가 없습니다.




class Student7{

    int id;

    String name;

    Student7(int i,String n){

    id = i;

    name = n;

    }

    Student7(){}

    void display(){System.out.println(id+" "+name);}


    public static void main(String args[]){

    Student7 s1 = new Student7(111,"Karan");

    Student7 s2 = new Student7();

    s2.id=s1.id;

    s2.name=s1.name;

    s1.display();

    s2.display();

   }

}


 output

111 Karan

111 Karan







영어원문내용출처 :http://www.javatpoint.com/

번역,의역 및 작성 : 초코토끼

검수 : 개발토끼

오역 및 오타의 지적은 겸손히 받겠습니다.








+ Recent posts