uncensored2017. 4. 25. 20:38

#생성자

객체를 생성한다는 것은 클래스로 정의된 데이터타입을 사용할 메모리를 할당받는 것.

그러면 클래스로 어떻게 메모리를 할당받냐?? 생성자 라는 메소드를 이용해서 할당받는다.

위에서 new Person()으로 메모리를 할당받았다. 이때 Person()이 생성자인데

생성자는 메소드다. 그리고 객체를 생성할 때 자동으로 호출된다는 특징이 있다.

이 특징을 이용해서 객체를 생성하고, 객체의 상태를 초기화할 때 이용된다.


생성자는

메소드다.

클래스와 같은 이름으로 되어있다.(매개변수는 필요한대로 정의)

클래스 내부에 정의해야 한다.


생성자가 정의되어 있지 않다면 컴파일러는 디폴트 생성자를 자동으로 만들어준다.

디폴트 생성자 - 매개변수가 없다. 작업하는게 없다.


매개변수가 있는 생성자가 정의되어 있다면 디폴트 생성자는 만들어지지 않는다.

디폴트 생성자를 대체하려면? 매개변수가 없는 생성자를 만들면 된다. 그리고 하고 싶은 작업을 작성.


Person 클래스에서의 생성자

Person(){...}, Person('a', 28, 170.0, 65.2){...}, Person('b', 38){...} 등등

이렇게 클래스 이름과 동일한 메소드가 있어야한다.


만일 생성자강 없다면 Person(){} 이런 디폴트 생성자가 자동으로 만들어지고 실행된다.


객체를 생성할 때 자동으로 실행된다는 점, 오버로딩이 가능하다는 점 때문에

생성자 메소드에 매개변수를 넣어 객체를 초기화하는 방법이 자주 사용된다.

'uncensored' 카테고리의 다른 글

11.배열  (0) 2017.04.25
10.조건문, 반복문  (0) 2017.04.25
금리인상  (0) 2017.03.17
오늘 기분  (0) 2017.03.17
어떤 기업의 코딩테스트 문제  (0) 2017.02.26
Posted by spillmoon