자바프로그래밍
상속과 인터페이스 자바프로그래밍 클래스 생성자 setter 상속 toString 오버라이드 super() @override
aiyoon
2025. 5. 24. 23:02
반응형
🌱 자바 상속과 인터페이스 – 기초 개념 요약
✅ 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()) |
반응형