package classex;
public class Dog {
String name;
int age;
// 기본생성자
public Dog() {
}
//오버로딩
public Dog(String name) {
this.name = name;
}
//오버로딩
public Dog(int age) {
}
//오버로딩
public Dog(String name, int age) {
}
public static void main(String[] args) {
Dog dog= new Dog();
dog.name = "똘똘이";
dog.age = 26;
System.out.println(dog.name);
System.out.println(dog.age);
Dog dog2 = new Dog("망나니");
System.out.println(dog2.name);
}
}

package classex;
public class Dog {
String name;
int age;
// 기본생성자(오버로딩 시에 기본생성자를 사용하고 싶으면 생략하면 안됨)
// 평소에는 생량가능
public Dog() {
}
//오버로딩
public Dog(String name) {
this.name = name;
}
//오버로딩
public Dog(int age) {
this.age = age;
}
//오버로딩
public Dog(String name, int age) {
this.age=age;
this.name= name;
}
public static void main(String[] args) {
Dog dog= new Dog();
dog.name = "똘똘이";
dog.age = 26;
// System.out.println(dog.name);
// System.out.println(dog.age);
Dog dog2 = new Dog("망나니");
// System.out.println(dog2.name);
Dog dog3 = new Dog("멍멍이",4);
System.out.println(dog3.age);
System.out.println(dog3.name);
}
}

package classex;
public class Cat {
String name;
int age;
public Cat() {
// Cat("나비", 1)의 의미로 아래의 생성자를 실행하게된다
// 나의 "나비", 1 함수를 타게된다.
// 즉, Cat(String name, int age)를 바로 호출하게됨
this("나비", 1);
}
public Cat(String name, int age) {
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Cat cat = new Cat();
System.out.println(cat.age);
System.out.println(cat.name);
}
}

package classex;
public class InitBlockEx {
static int staticInt;
int instancsInt;
static {
staticAction();
staticInt++;
System.out.println(staticInt);
System.out.println("static init block");
}
static void staticAction() {
staticInt++;
}
void instanceAction() {
staticInt++;
}
{
staticAction();
instanceAction();
}
public InitBlockEx() {
System.out.println("InitBlockEx()");
}
public static void main(String[] args) {
InitBlockEx ib01 = new InitBlockEx();
InitBlockEx ib02 = new InitBlockEx();
}
}

상단(Source) => Generate Constructor using Fields => 사용 하고자하는 변수 선택 => Generate


와 같이 진행하게 되면
public Cat(String name, int age) {
super();
this.name = name;
this.age = age;
}
와 같이 자동으로 생성되는 것을 확인할 수 있다.
같은 방법으로 geter, seter, toString도 생성 가능하다.