Notice
Recent Posts
Recent Comments
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Spring & Java

객체지향 PART 3 - 추상화 본문

JAVA 객체지향 이해하기

객체지향 PART 3 - 추상화

dev.hyuck 2025. 12. 10. 19:44

● 메서드 - 모듈화의 시작

● 클래스와 객체

● JVM 메모리 영역

● 래퍼클래스 (기본형 참조형)

● static - 클래스가 공유

● final - 변하지 않는 값

● 인터페이스 - 표준화의 시작

● 객체지향 PART 1 -  캡술 (접근제어자)

● 객체지향 PART 2 -  상속

● 객체지향 PART 3 - 추상화

● 객체지향 PART 4 - 다형성

 

객체지향 PART 3 - 추상화

 

추상화 - 특정 계층에서 필요한 본질적인 특성만 유지하고 불필요한 세부사항을 숨기는 객체지향의 특징

 

추상화란 무엇일까?

● 고양이 > 동물 > 생명체

● 추상화란 불필요한 정보를 제거하고 본질적인 특징만 남기는 것을 의미합니다.

● 객체지향 프로그래밍에서는 추상화의 계층적 특징을 활용해서 유지보수성이 좋은 프로그램을 만들 수 있습니다.

● 이런 추상화 특징을 활용할 수 있다는 것이 객체지향의 3번째 특징입니다.

● 우리는 계층구조를 자바의 특징 (인터페이스 상속, 클래스 상속) 구현할 수 있습니다.

● 추상화의 특징은 다형성에 활용됩니다.

 

클래스 상속을 활용한 추상 계층 표현

public class LifeForm {

    public void exist() {
        System.out.println("존재합니다2"); // ✅ 공통: 모든 객체는 존재한다.
    }
}

public class Animal extends LifeForm {

    public void makeSound() {
        System.out.println("소리를 냅니다2"); // ✅ 공통: 모든 생명체는 성장한다.
    }
}

public class Cat extends Animal {

    @Override
    public void makeSound() {
        System.out.println("야옹2");
    }

    public void scratch() {
        System.out.println("스크래치!");
    }
}

public class Main {

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.exist();
        cat.makeSound();
        cat.scratch();
    }
}