겉바속촉
여러가지버전으로 호출 본문
728x90
반응형
지난번에 배웠던 객체지향을 활용해서
여러가지 버전으로 호출해보도록 할게요~~
2020/06/01 - [취업일기/블록체인] - class 호출하기
지난 포스팅으로 복습 한 번 해주시구요:)
이번 예제들을 살펴볼게요!
class Person을 만들어주세요
변수 선언: String name, int age
디폴트 생성자: (클래스이름과 동일) Person(), Person(String name), Person(String name, int age)
여기서 포인트는 첫번째 디폴트 생성자를 보시면
public Person() {
this("송가인", 35);
}
이런 형태입니다.
만들어준 생성자와 다른 형태를 불러오고 있죠?
바로 세번째 생성자 형태에 송가인과 35를 넣어서 불러주고 있습니다.
이럴때 쓰이는 것이 바로 this입니다:)
그리고 추가로 출력문 메소드를 따로 만들어버렸습니다
여태까지 했던 것과 다르죠?
package day0601;
class Person {
String name;
int age;
//디폴트 생성자
public Person() {
//this로 다른 생성자를 호출가능
this("송가인",35); //3번 생성자를 호출
}
public Person(String name) {
this(name,25);
}
public Person(String name, int age) {
//this은 인스턴스 자기자신
this.name = name;
this.age = age;
System.out.println("호출");
}
//출력문 메소드
public void write()
{
System.out.println("이름: "+name+"\t나이: "+age);
}
}
public class ConstThis_07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//디폴트 생성자
Person pe1 = new Person();
pe1.write();
//name 생성자
Person pe2 = new Person("홍길동");
pe2.write();
//name, age
Person pe3 = new Person("임영웅", 33);
pe3.write();
}
}
main위치에서
Person pe1 = new Person(); --> 객체 생성을 한 후,
pe1에다가 새롭게 Person()을 넣겠다고 생각하는 거에요:)
pe1. ---> pe1에 접근하겠다는 거에요
그래서 write(); 를 실행하겠다라는 거죠
바로 출력문 메소드입니다
pe2랑 pe3도 콘솔창과 비교하시면서 구조를 확인해보세요:)
728x90
반응형
'IT일기(하반기) > 블록체인' 카테고리의 다른 글
자동생성으로 set, get 완성 (0) | 2020.06.01 |
---|---|
class호출-창 2개 (0) | 2020.06.01 |
class 호출하기 (0) | 2020.06.01 |
클래스 연습하기 (0) | 2020.06.01 |
클래스와 인스턴스 (0) | 2020.06.01 |