반응형
이번 글에서는 생성자를 사용하여 객체의 필드 값을 초기화하는 방법을 학습합니다.
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.필드명 = 매개변수명 형태로 필드와 지역변수 구분
- 여러 객체를 생성해도 공통 필드는 유지되며,
매개변수에 따라 다른 상태를 가진 객체 생성 가능 - 객체지향 프로그래밍의 기본은 "상태 + 동작" → 지금은 상태 설정 중심
'프로그래밍 > JAVA' 카테고리의 다른 글
44. 가변 인자(Varargs)를 이용한 메서드 작성 (0) | 2025.04.28 |
---|---|
43. 클래스의 메서드 정의와 호출 (0) | 2025.04.25 |
42. 생성자 오버로딩 - 다양한 방식의 객체 초기화 (0) | 2025.04.25 |
40. 생성자 선언 - 객체 생성과 동시에 값 초기화 (0) | 2025.04.25 |
39. 필드 값 변경과 객체 상태 설정 (3) | 2025.04.25 |
38. 클래스와 객체 생성 - 필드 기본값 확인 (0) | 2025.04.25 |