반응형
📘 객체지형 프로그래밍 (OOP)
자바(Java)는 객체지형 언어로, 코드의 재사용성과 유연성을 높이기 위해 객체지형 개념(OOP)을 활용합니다. 이번 강의에서는 상속, 오버라이딩, 다형성, 추사 클래스, 인터페이스까지 정리합니다.
📌 목차
- 상속과 재사용
- 오버라이딩과 다형성
- 추사 클래스 (abstract class)
- 인터페이스 (interface)
🔹 1. 상속과 재사용
상속(Inheritance)은 기존 클래스의 기능을 복잡하거나, 특화할 수 있게 해 주며, 재사용성과 반복 작업 수고를 감소합니다.
// 부모 클래스
class Animal {
void speak() {
System.out.println("Animal makes a sound");
}
}
// 자식 클래스
class Dog extends Animal {
void bark() {
System.out.println("Woof!");
}
}
// 사용
Dog dog = new Dog();
dog.speak(); // 부모 메서드 사용
dog.bark(); // 자식 메서드 사용
이때 객체가 다른 클래스의 기능을 가지며, 객체의 바로성을 넘겨 바이너스 결합성을 높이는 것이 OOP의 가장 강력한 점입니다.
🔹 2. 오버라이딩과 다형성
오버라이딩(Overriding)은 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것입니다.
다형성(Polymorphism)은 부모 타입의 변수가 자식 객체를 저장할 수 있게 하여 유연한 구조를 가진 코드를 구현합니다.
class Animal {
void speak() {
System.out.println("Animal sound");
}
}
class Cat extends Animal {
@Override
void speak() {
System.out.println("Meow");
}
}
Animal a = new Cat();
a.speak(); // 출력: Meow (Cat의 메서드가 실행됨)
다형성은 하나의 메서드 호출로 다른 객체의 객체 기능을 실행할 수 있게 해서 개발자가 양성적으로 코드를 목\uud45c로 가지고 구현할 수 있게 합니다.
🔹 3. 추사 클래스 (abstract class)
abstract 클래스는 실제 객체를 생성할 수 없고, 상속 클래스에서 그 구현을 강제합니다.
abstract class Shape {
abstract void draw(); // 추사 메서드
}
class Circle extends Shape {
void draw() {
System.out.println("Draw a Circle");
}
}
추사 클래스는 정수 클래스와 인터페이스 사이에 위치하며, 목표를 가지는 구조로 해석할 수 있습니다.
🔹 4. 인터페이스 (interface)
interface는 100%가 추사화된 구조로, 다중 구현도 가능하고 개체의 기능을 약속합니다.
interface Animal {
void eat();
}
class Bird implements Animal {
public void eat() {
System.out.println("Bird eats grains");
}
}
인터페이스는 추사 클래스와 다른 점은 여러 객체가 같은 인터페이스를 구현할 수 있게 하고, 사용가능한 면에서 그 개발 논리를 효과적으로 구축할 수 있게 해 줍니다.
반응형
'Programming' 카테고리의 다른 글
| JAVA 컬렉션 프레임워크 (59) | 2025.11.19 |
|---|---|
| JAVA 예외 처리 (59) | 2025.11.18 |
| JAVA 패키지와 접근제한자 (38) | 2025.11.16 |
| JAVA 클래스와 객체 (45) | 2025.11.15 |
| JAVA 메서드와 매개변수 (43) | 2025.11.14 |