본문 바로가기

반응형

이번 글에서는 생성자를 사용하여 객체의 필드 값을 초기화하는 방법을 학습합니다.
this 키워드를 통해 매개변수를 필드에 대입하고,
같은 클래스로 서로 다른 데이터를 가진 객체를 여러 개 생성하여 활용하는 예제를 실습합니다.


📦 클래스 코드 (Korean.java)

package ch06.sec07.exam02;

public class Korean {
	String nation = "대한민국";
	String name;
	String ssn;

	public Korean(String name, String ssn) {
		this.name = name;
		this.ssn = ssn;
	}
}

📌 실행 코드 (KoreanExample.java)

package ch06.sec07.exam02;

public class KoreanExample {
	public static void main(String[] args) {
		String name = "박자바";
		String ssn = "011225-1234567";

		Korean korean1 = new Korean(name, ssn);
		System.out.println("korean1.nation : " + korean1.nation);
		System.out.println("korean1.name : " + korean1.name);
		System.out.println("korean1.ssn : " + korean1.ssn);

		System.out.println("-".repeat(40));

		name = "김자바";
		ssn = "930525-0654321";

		Korean korean2 = new Korean(name, ssn);
		System.out.println("korean2.nation : " + korean2.nation);
		System.out.println("korean2.name : " + korean2.name);
		System.out.println("korean2.ssn : " + korean2.ssn);
	}
}

💬 코드 설명

  • String nation = "대한민국";
    모든 객체에 공통 적용되는 필드값
  • this.name = name;
    → 생성자 매개변수 name을 필드 name에 저장
    → 이름이 같기 때문에 this로 필드와 매개변수 구분
  • new Korean(...)
    → 생성자 호출 시 각각의 객체에 맞는 데이터를 전달하여 상태 초기화

💻 실행 결과

korean1.nation : 대한민국
korean1.name : 박자바
korean1.ssn : 011225-1234567
----------------------------------------
korean2.nation : 대한민국
korean2.name : 김자바
korean2.ssn : 930525-0654321

📌 간단 정리

필드 설명 값 (예시)
nation 모든 객체 공통값 "대한민국"
name 객체마다 다른 값 "박자바", "김자바"
ssn 객체마다 다른 주민등록번호 각 객체별 입력값

💡 포인트 정리

  • 생성자는 객체 생성 시 필드 초기화를 담당
  • this.필드명 = 매개변수명 형태로 필드와 지역변수 구분
  • 여러 객체를 생성해도 공통 필드는 유지되며,
    매개변수에 따라 다른 상태를 가진 객체 생성 가능
  • 객체지향 프로그래밍의 기본은 "상태 + 동작" → 지금은 상태 설정 중심
댓글