ava에서 객체 지향 프로그래밍(OOP)을 이해하는 핵심 중 하나는 생성자(Constructor) 함수입니다. 생성자 함수는 객체가 생성될 때 호출되어 멤버 변수의 초기화 작업을 수행합니다. 이번 블로그에서는 TV 클래스를 예제로 다양한 형태의 생성자 함수를 구현하고 활용하는 방법을 설명하겠습니다.
생성자 함수는 클래스의 인스턴스가 생성될 때 자동으로 호출되는 특별한 메소드입니다. 생성자 함수의 주요 역할은 객체가 생성될 때 필요한 초기화 작업을 수행하는 것입니다.
-클래스명과 동일하다
-리턴타입 없음(void 조차 사용하지 않음)
-중복정의 가능함(overload 가능)
-default constructor 갖고 있음
(단, 사용자가 생성자함수 재정의를 하면 디폴트 생성자 함수 기능 상실함.)
TV.java
package constructor;
public class TV {
private int channel; //멤버변수
private String color;
public TV(int ch) { //매개변수 1개 생성자함수
channel = 7;
color = "black";
}
public TV(String c, int ch) { //매개변수 2개 생성자함수
channel = ch;
color = c;
}
public TV(String f) { //매개변수 1개 생성자함수
color = f;
}
public TV() { // 매개변수 0개 DEFAULT 생성자함수
channel = 1;
color = "BLACK";
}
//channel getter/setter
public int getChannel() {return channel;}
public void setChannel(int channel) {this.channel = channel;}
//color getter/setter
public String getColor() {return color;}
public void setColor(String color) {this.color = color;}
public void show() {System.out.println(channel + " , " + color);}
}
MainEntry.java
package constructor;
public class MainEntry {
public static void main(String[] args) {
TV tv = new TV(7);
tv.show();
TV tv2 = new TV("RED", 15);
tv2.show();
TV tv3 = new TV("Fro");
tv3.setChannel(1);
tv3.show();
TV tv4 = new TV();
tv4.setChannel(13);
tv4.setColor("ORANGE");
tv4.show();
}
}
7 , black
15 , RED
1 , Fro
13 , ORANGE