클래스를 만들게 되면 클래스명과 동일한 원형 메소드를 만들어 주는데 이를 '생성자'라고 한다.
클래스에서 선언된 변수는 숫자일 경우 0, 문자일 경우 Null로 자동 초기화 되므로 생성자 안에 아무런 내용이 없더라도 실제로는 다음처럼 처리된다. 또한 디폴트 생성자에서도 변수에 임의의 값을 주어 초기화할 수도 있다.1: public class Car {2: int speed ;
3: private int generationCapacity ; 4:5: //디폴트 생성자
6: Car () {7: }8:9: //추가 생성자
10: Car(int val) {
11: this.speed = val ;
12: }13:14: public void run() {15: System.out.println("속도 : ") ;
16: }17:18: public void stop() {19: System.out.println("멈추다.") ;
20: } 21:22: public String turn() {
23: return "회전" ;24: }25: }
생성자를 추가로 만들지 않는다면 기본(디폴트) 생성자는 가상머신이 자동으로 처리하므로 생략이 가능하지만 위 코드처럼 추가로 만들었다면 기본 생성자도 입력해 주어야 한다.1: Car () {2: // 자동으로 초기화
3: this.speed = 0 ;
4: this.generationCapacity = 0 ;
5: }
메시지를 가지는 생성자를 추가로 만들게 되면, 객체의 인스턴스를 선언할 때 초기값을 바로 부여해줄 수가 있게 된다.
1: public class CarTest {2: public static void main(String[] args) {3: Car mycar = new Car() ;
4:5: Car porche = new Car(150) ;
6: Car lamborgini = new Car() ;
7:8: porche.run() ;9: lamborgini.run() ;10: }11: }
'JavaAndroid' 카테고리의 다른 글
자바(Java) 생성자, setter와 getter, 오버로딩 종합 정리 (0) | 2011.05.21 |
---|---|
자바(Java)의 오버로딩(Overloading) (0) | 2011.05.21 |
setter와 getter를 자동으로 생성해 주는 이클립스(Eclipse) (0) | 2011.05.21 |
자바(Java)에서 변수에 값을 주고 받는 setter와 getter (0) | 2011.05.20 |
자바(Java)의 상속(Inheritance) 개념과 방식 (0) | 2011.05.19 |
자바(Java) 객체 인스턴스 생성과 멤버변수 및 멤버함수 활용 (0) | 2011.05.19 |
자바(Java), 이중 for문과 2차원 배열 예제 (0) | 2011.05.19 |
자바(Java)로 구의 넓이와 부피 구해보기 (0) | 2011.05.12 |