Java

자바 프로그래밍 (Java) - 14 : 객체와 클래스 (생성자, 생성자 오버로딩)

n.han 2016. 7. 12. 15:06

- 생성자 (constructor)

 

클래스 기반의 객체 지향 프로그래밍에서, 클래스의 생성자(constructor)객체를 만드는 특별한 타입의 서브루틴이다.

 

일반적으로 생성자는 필요한 멤버 변수를 설정하기 위해 사용하는 인수(arguments)를 받는다.

 

명시적인 리턴 타입이 없다는 측면에서 생성자는 메서드와 다르다. 생성자는 일반적으로 클래스와 같은 이름을 가지며,

 

객체의 데이터 멤버들을 초기화하는 작업을 수행한다. 또한 많은 언어들이 생성자의 오버로딩(Overloading)을 허가한다.

 

이에 따라 한 클래스에 인수가 다른 여러 생성자가 존재할 수 있게 된다.

 

- 생성자 오버로딩 (Overloading)

 

생성자 오버로딩이란 다른 타입의 파라미터를 가지는 같은 이름의 생성자를 작성할 수 있는 것을 말한다.

 

, 파라미터 변수의 타입과 수, 순서가 달라야 한다.

 

첫 번째 예제는 파라미터 변수의 이름만 다른 생성자를 작성한 것이다. 따라서 컴파일 에러가 발생하게 된다.

 

두 번째 예제는 같은 타입, 수의 변수를 순서만 다르게 한 것이다. 생성자 오버로딩의 올바른 예이다.

 

public class Person {

        Person(String a, int b){

              

        }

       

        Person(String abc, int bcd){

              

        }

}

public class Person {

        Person(String a, int b){

              

        }

        Person(int a, String b){

              

        }      

}