728x90
반응형
안녕하세요. 스마트팩토리입니다.
자바 중급 017. 기본 생성자와 매개 변수가 있는 생성자 호출에 대해 알아보겠습니다.
1. 매개변수가 있는 생성자 호출
가 . 기본 생성자와 매개변수가 있는 생성자 호출
-생성자란?
인스턴스 초기화 메서드
-매개변수가 있는 생성자를 작성하는 이유?
매개변수가 있는 경우는 매개변수가 없는 생성자의 클래스 매개변수 값을 하나하나 작성해 줘야 하는 불편함이 있습니다. 그래서 매개변수가 있는 생성자를 만들어서 코드를 간단하게 작성할 수 있습니다.
<<Relate.java 클래스 >>
기본 생성자와 매개변수가 있는 생성자를 작성하였습니다.
기본 생성자에는 publie Relate(){}
"기본 생성자 호출"
매개변수가 있는 생성자에는 public Ralate(String name, int age){}
"매개변수가 있는 생성자 호출"
이라고 작성하였습니다.
생성자는 인스턴스 초기화 메소드이기 때문에 매개변수가 있는 경우 초기화 설정도 넣었습니다.
package ex01;
public class Relate {
private String name;
private int age;
public Relate() {
System.out.println(" 기본생성자 호출");
}
public Relate(String name, int age) {
System.out.println(" 매개변수가 있는 생성자 호출 ");
this.name=name;
this.age=age;
}
}
<<RelateEx.java>>실행 클래스 작성
c1은 기본 생성자로 ~~
c2는 매개변수가 있는 생성자로 매개변수의 값을 넣어 주었습니다.
생성자가 있으니 바로 실행해 보니 출력이 생성자에 맞게 나오는 것을 알 수 있습니다.
package ex01;
public class RelateEx {
public static void main(String[] args) {
Relate c1=new Relate();
Relate c2=new Relate("kim", 25);
}
}
<< 메소드 추가 >>
메소드를 추가하여 성명과 나이를 출력하도록 해 보았습니다.
public void show() {
System.out.println(" 성명: "+this.name+"나이:" +this.age);
}
}
실행 클래스에서 성명, 나이가 메소드에 있는대로 출력된 것을 볼 수 있습니다.
기본 생성자로 매개변수값을 초기화 하지 않으면 하나하나 매개변수 값을 넣어줘야 하는데 매개변수가 있는 경우는 바로 값(call by value)을 작성하기 때문에 코드 작성이 효율적인 것을 알 수 있습니다.
매개변수값을 여러가지로 하여 선택사항을 줄이거나 늘릴 수 있으니 이 또한 객체를 생성하는 입장에서 효율적인 것을 알 수 있습니다.
728x90
반응형
'Java' 카테고리의 다른 글
자바 중급 019. this()- 생성자 , this-참조변수 (0) | 2021.09.06 |
---|---|
자바 중급 018. this() 생성자에서 다른 생성자 호출 (0) | 2021.09.05 |
자바 중급 016. 생성자 (constructor), 매개변수가 있는 생성자(파일분리) (0) | 2021.09.03 |
자바 중급 015. 매개 변수가 있는 생성자 (constructor) (0) | 2021.09.03 |
자바 중급 014. 생성자 (constructor) 란? 생성자는 자동 초기화? 기본 생성자 (0) | 2021.08.27 |
댓글