해당 게시물은 "생활코딩 - JAVA 객체 지향 프로그래밍" 유튜브 강의를 정리한 내용입니다.
어떤 클래스가 복제되었을 때(즉 인스턴스가 생성되었을 때), 바로 어떤 일이 처리되게 하거나, 어떤 값을 주입받도록 하기 위해 사용할 수 있는, 유용한 메소드 기능
class Print {
public String delimiter = "";
// 생성자는 클래스와 이름이 같다.
public Print(String _delimiter){
//new Print("----");에서 매개변수 String 을 받아와야 함
delimiter = _delimiter; // 매개변수로 받아온 값을 클래스 변수에 저장해둠
}
public void A() {
System.out.println(delimiter);
System.out.println("A");
System.out.println("A");
}
}
public class MyOOP {
public static void main(String[] args) {
// Print 라는 클래스의 복제본을 만듦
Print p1 = new Print("----"); // Print 라는 데이터타입의 p1 이라는 인스턴스
p1.A();
}
// 생성자 덕분에 아래와 같이 출력이 될 수 있음
// ----
// A
// A
그러나 만약 클래스 변수와 생성자 매개변수를 같은 이름, 'delimiter' 로 한다면, this 를 사용한다. this는 내가 생성한 인스턴스를 가리키는 것이다.
class Print {
public String delimiter = ""; // this.delimiter 는 인스턴스의 delimiter 를 가리키기에
// 얘를 가리키는 것이다.
public Print(String delimiter){ //new Print("----");에서 매개변수 String 을 받아와야 함
this.delimiter = delimiter; // 매개변수로 받아온 값을 클래스 변수에 저장해둠
}
public void A() {
System.out.println(this.delimiter);
System.out.println("A");
System.out.println("A");
}
}
public class MyOOP {
public static void main(String[] args) {
// Print 라는 클래스의 복제본을 만듦
Print p1 = new Print("----"); // Print 라는 데이터타입의 p1 이라는 인스턴스
p1.A();
}
}