자바프로그래밍
자바프로그래밍 객체지향 구현 클래스선언 설계도 필드 생성자 toString main메서드 getter setter
aiyoon
2025. 5. 22. 14:13
반응형
✅ 자바 객체지향 구현
📌 1. 클래스 선언 – 설계도
public class Armor {
// 🔹 필드(멤버 변수)
String name;
int power;
// 🔹 생성자 (Constructor)
public Armor(String name, int power) {
this.name = name;
this.power = power;
}
// 🔹 toString() 오버라이드 – 객체 정보 출력용
@Override public String toString() {
return "Armor{name='" + name + "', power=" + power + "}";
}
}
요소 | 설명 |
필드 | 클래스 안에 선언되는 변수, 자동 초기화 (문자열은 null, 숫자는 0) |
생성자 | 객체 생성 시 호출되는 특수한 메서드, 필드를 초기화 |
toString() | 객체를 System.out.println() 할 때 자동 호출되는 메서드 |
📌 2. main 메서드에서 객체 생성 및 출력
public class ArmorTest {
public static void main(String[] args) {
// 🔹 객체 생성 (인스턴스화)
Armor suit1 = new Armor("Iron Armor", 100);
// 🔹 객체 정보 출력
System.out.println(suit1); // 자동으로 toString() 호출됨
}
}
개념 | 설명 |
new Armor(...) | 인스턴스를 생성, heap 메모리에 객체 생성 |
suit1 | 참조변수, stack에 저장됨 |
System.out.println(suit1) | toString() 메서드가 자동 호출되어 객체 상태 출력 |
📌 초보자가 자주 실수하는 포인트
실수 | 해결 방법 |
필드 선언만 하고 생성자를 안 씀 | 생성자를 직접 만들어 필드 초기화 |
toString() 미작성 → 주소값 출력 | 반드시 @Override toString() 작성 |
필드 접근 시 getter 안 씀 | 이클립스 자동 생성 활용 (Source > Generate Getters/Setters) |
main에서 객체만 만들고 출력 안 함 | System.out.println(객체명)으로 확인 필수 |
🔧 이클립스 팁
- Alt + Shift + S → Generate Getters and Setters
- Alt + Shift + S → Generate Constructor using Fields
- Source > Override/Implement Methods → toString() 쉽게 추가
✅ 연습 요약 흐름도
클래스 Armor
└─ 필드 (name, power)
└─ 생성자 (name, power)
└─ toString()
main()
└─ Armor suit1 = new Armor("A", 10);
└─ System.out.println(suit1);
반응형