자바프로그래밍

자바프로그래밍 객체지향 구현 클래스선언 설계도 필드 생성자 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);
 

반응형