생성자에서 필드 초기화
package sec07.exam02_field_initialize;
public class Korean {
//field
String nation = "대한민국";
String name; //변수만 선언. 변수값 아직 없음(null)
String ssn; //변수만 선언. 변수값 아직 없음(null)
//constructor
/*public Korean(String n, String s) {
name = n;
ssn = s;
*/
/*public Korean(String name, String ssn) {
}
생성자를 이렇게만 생성하면 실행 클래스애서 결과값은 null이 된다. 필드값 내 변수가 우선순위가 높아서?
*/
public Korean(String name, String ssn) {
this.name = name;
this.ssn = ssn;
}
}
※ 위에서 Korean 생성자의 매개변수 이름은 각각 n과 s를 사용
매개변수의 이름이 너무 짧으면 코드의 가독성이 좋지 않아 관례적으로 필드와 동일한 이름을 갖는 매개변수를 사용!
생성자 내 필드앞에 this.를 붙인다. -> this.필드
ex)
//생성자
public Korean(String name, String ssn) {
this.name = name;
this.ssn = ssn;
}
객체 생성 후 필드값 출력
package sec07.exam02_field_initialize;
public class KoreanExample {
public static void main(String[] args) {
Korean k1 = new Korean("박자바", "011225-1234567"); //name과 ssn의 변수값 선언
System.out.println("k1.name: " + k1.name); //"변수명.필드이름"으로 불러오기
System.out.println("k1.ssn: " + k1.ssn);
Korean k2 = new Korean("김자바", "930525-0654321");
System.out.println("k2.name: " + k2.name);
System.out.println("k2.ssn: " + k2.ssn);
}
}
k1.name: 박자바
k1.ssn: 011225-1234567
k2.name: 김자바
k2.ssn: 930525-0654321
'Java > 6. 클래스 (Class)' 카테고리의 다른 글
Day 7 : 메소드 선언 및 호출 (0) | 2021.10.27 |
---|---|
Day 7 : 다른 생성자를 호출해서 중복 코드 줄이기 (0) | 2021.10.27 |
Day 7 : 생성자의 오버로딩 (0) | 2021.10.27 |
Day 7 : 외부 클래스에서 Car 필드값 읽기와 변경 (0) | 2021.10.27 |
Day 7 : Summary - 클래스 (Class) (0) | 2021.10.27 |