int 야채;
야채 =5;
-------------
int 야채 = 5;
위 두 코드는 같지만 아래 코드가 훨씬 간결하고 입력하기 쉽다.
생성자도 마찬가지.
참치선물세트 참01호 = new 참치선물세트();
참01호.일반 = 12;
참01호.야채 = 3;
참01호.고추 = 3;
-----------------------------------------
참치선물세트 참01호 = new 참치선물세트(12,3,3);
하지만 이렇게 입력하기 위해서는 우선 생성자를 생성해야한다.
//생성자 생성 전
class 참치선물세트{
int 일반;
int 야채;
int 고추;
}
-----------------
생성자 생성
-----------------
class 참치선물세트{
int 일반;
int 야채;
int 고추;
참치선물세트(int x, int y, int z){ //생성자#1
일반 = x;
야채 = y;
고추 = z;
}
//만약 일반참치로만 구성된 세트라면 이렇게도 가능
참치선물세트(int x){ //생성자#2
일반 = x;
야채 = 0;
고추 = 0;
}
}
위와 같이 생성자를 생성하고 나면, 아래와 같이 적용할 수 있는 것이다.
참치선물세트 참01호 = new 참치선물세트(12,3,3);
(DO it! 첫 코딩 - 생성자편)
그림으로 표현하면 위와 같다
생성자를 만들 때 각 변수(참치종류)에 위치값을 지정해주고(x,y,z)
나중에 인스턴스 생성할 때 괄호안에 그 위치값에 필요한 값만큼 기입하면 된다.
Class는 이름의 첫글자를 대문자로 시작
Instance는 이름의 첫글자를 소문자로 시작
class TunaCanGiftSet{
int normalTuna;
int vegTUNA;
int spicyTuna;
TunaCanGiftSet(int x, int y, int z){
normalTuna = x;
vegTuna = y;
spicyTuna = z;
}
TunaCanGiftSet(int x){
normalTuna = x;
vegTuna = 0;
spicyTuna = 0;
}
}
public class Main{
public static void main(String[] args){
TunaCanGiftSet tunaSet01 = new TunaCanGiftSet(12,3,3);
//이하생략
}
}
GPT 버전
Java에서 생성자(Constructor)는 클래스를 인스턴스화할 때 호출되는 특별한 메소드입니다. 생성자는 클래스의 인스턴스를 초기화하고 필드를 설정하는 데 사용됩니다.
아래는 간단한 예제입니다:
public class Person {
private String name;
private int age;
// 생성자
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 메소드
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
위의 코드에서 Person 클래스는 name과 age라는 두 개의 필드를 갖고 있습니다. 생성자는 Person 클래스를 초기화하는 데 사용됩니다. 생성자는 public Person(String name, int age) 형태이며, name과 age를 인수로 받습니다. 생성자의 역할은 name과 age를 인스턴스 변수로 설정하는 것입니다.
예를 들어, 다음과 같이 Person 클래스를 인스턴스화할 수 있습니다.
Person person = new Person("John", 30);
위의 코드는 Person 클래스의 인스턴스를 생성하고 name을 "John"으로, age를 30으로 초기화합니다. 이후 getName()과 getAge() 메소드를 호출하여 해당 인스턴스의 필드 값을 가져올 수 있습니다.