※ destructor : 소멸자, 소멸시에 호출되는 함수이나 거의 사용되지 않음
public class MainClass {
public static void main(String[] args) {
//BaseClass bc = new BaseClass();
//BaseClass bc = new BaseClass(3);
BaseClass bc = new BaseClass(3, "성춘향");
}
}
class BaseClass{
int number;
String name;
public BaseClass() {
System.out.println("BaseClass BaseClass()");
}
public BaseClass(int num) {
System.out.println("BaseClass BaseClass(int num)");
}
public BaseClass(int num, String na) {
System.out.println("BaseClass BaseClass(int num, String na)");
number = num;
name = na;
}
public void method() {
}
public void method(int n) {
}
}
public class MainClass {
public static void main(String[] args) {
// MyClass clsOne = new MyClass();
// System.out.println(clsOne);
// System.out.println(clsOne.getThis());
// clsOne.method();
// MyClass clsTwo = new MyClass();
// System.out.println(clsTwo);
// MyClass cls = new MyClass("tom");
MyClass cls = new MyClass();
}
}
class MyClass {
String name;
public MyClass() {
this("john"); //name을 매개변수로 갖는 생성자 호출
System.out.println("MyClass MyClass()");
}
public MyClass(String name) {
//this(); //기본 생성자 호출
System.out.println("MyClass MyClass(String name)");
this.name = name;
}
MyClass getThis() { // 0번째 매개변수로 모든 메소드에 추가되어 있다
return this;
}
void method() {
System.out.println(this);
//this가 생략이 가능함.
name = "일지매";
this.getThis();
}
void setName(String name) {
//this를 반드시 써야하는 경우 -> 변수의 이름이 같이 구분해줘야할 때 사용(매개변수, 지역변수, 멤버변수)
this.name = name;
}
void setNameMethod() {
String name = "홍길동"; //local(지역) 변수
this.name = name;
}
}