본문 바로가기
자바프로그래밍

상속과 인터페이스 자바프로그래밍 클래스 생성자 setter 상속 toString 오버라이드 super() @override

by aiyoon 2025. 5. 24.
반응형

🌱 자바 상속과 인터페이스 – 기초 개념 요약


✅ 1. 클래스(Class)와 생성자(Constructor)

  • 클래스는 설계도, 객체는 그로 만든 실제 물건이에요.
  • 클래스 이름은 항상 대문자로 시작합니다.
 
public class Employee { 
    public Employee() { 
        super(); // 부모 클래스의 생성자를 가장 먼저 호출해야 함 
        System.out.println("Employee 생성자 실행"); 
    } 
}
  • super()는 부모 클래스(Person)의 생성자를 호출합니다.
    → 상속받은 클래스는 부모의 초기화를 먼저 해야 함.

✅ 2. setter 메서드란?

  • **값을 설정(set)**할 때 사용합니다. 보통 private 변수에 접근할 때 사용합니다.
 
public void setName(String name) { 
	this.name = name; 
}
  • this.name은 클래스 안의 변수, name은 매개변수(외부에서 받은 값)

✅ 3. 상속 (Inheritance)

  • 상속이란 부모 클래스의 기능을 자식 클래스가 물려받는 것입니다.
  • 자식 클래스에서 부모 클래스의 메서드를 재정의할 수 있어요. → 이걸 **오버라이드(@Override)**라고 해요.
 
@Override 
public String getMessage() { 
	return "iPhone"; 
}
  • @Override는 "나는 부모 클래스의 메서드를 다시 작성한 거야" 라는 표시입니다.

✅ 4. 유지보수와 코드 패턴

  • 실무에서는 **“부모 클래스 상속 + 자식 클래스 생성자 + toString 오버라이드”**는 매우 흔한 패턴입니다.
  • 이 구조를 익히면 나중에 유지보수(maintenance)가 쉬워집니다.

💡 Ctrl + Shift + Space 팁

  • 이클립스에서는 Ctrl + Shift + Space를 누르면
    자동으로 생성자나 메서드가 완성됩니다.
    → 즉, public Employee() 자동 완성됨!

🔁 전체 흐름 한눈에 보기

class Person { 
	String name; 
    public String getMessage() { 
    	return "Hi"; 
    } 
} 

  class Employee extends Person { 
    public Employee() { 
        super(); // Person 생성자 호출 
        System.out.println("Employee 생성자 실행"); 
    } 

    @Override 
    public String getMessage() { 
    	return "iPhone"; // 부모의 getMessage를 바꿈 
    } 

    public void setName(String name) { 
    	this.name = name; 
    } 
}

📌 핵심 요약표

개념 의미
클래스 이름 대문자로 시작 (ex: Employee)
생성자 객체 만들 때 자동 실행되는 함수
super() 부모 생성자 호출
상속 부모 클래스 기능을 자식이 물려받음
@Override 부모의 메서드를 자식이 다시 정의
setter 값을 설정하는 메서드 (setName())

반응형