Spring/스프링입문을 위한 자바객체지향의 원리와 이해

추상화란?

1space 2025. 6. 30. 07:53

스프링입문을 위한 자바 객체지향의 원리와 이해』로 공부한 내용을 정리한 글입니다

 

"추상화"라는 단어의 본래 의미부터 출발

컴퓨터 용어는 어려워야 한다는 고정관념을 깨자.

  • '추상화(abstraction)'는 컴퓨터 전공 용어라기보다는 본래 국어사전에도 있는 단어입니다.
  • 사전적 정의:
  • "여러 사물에서 공통되거나 핵심적인 속성만 추출해 파악하는 것"

즉, 추상화는 "모든 걸 다 보여주는 것"이 아니라 핵심만 보여주기입니다.
→ 이는 우리가 일상에서 생각하는 "추상화 그림"의 특징과도 같습니다.

 

예술에서의 추상화 – 피카소와 이집트 벽화

피카소의 추상화

  • 피카소가 사람 얼굴을 막 비틀어서 그린 건, 사실을 못 그려서가 아니라
    그 사람의 느낌과 특징을 강조하기 위한 의도였습니다.
  • 즉, "사실의 생략 + 특징의 강조" → 추상화

이집트 벽화

  • 얼굴은 옆모습, 몸은 정면, 눈은 정면(!) → 실제 인간의 자세와는 전혀 다름.
  • 키가 클수록 신분이 높은 사람.
  • 이런 그림도 '기괴한 그림'이 아니라, 권력·상징·특징을 극대화한 추상화.

➡️ 중요한 건 사실적인 모양이 아니라, 표현하고자 하는 핵심 정보.

 

객체지향에서의 추상화도 똑같다!

💡 객체지향에서의 "추상화"란?

사람, 동물, 자동차처럼 다양한 객체들에서 공통 속성만 뽑아내 클래스나 인터페이스를 만드는 것

예를 들어,

class Animal {
    String name;
    void eat();
    void sleep();
}
  • 고양이, 강아지, 사람 모두 eat(), sleep() 기능이 있음 → 공통 속성/기능만 추출
  • 이걸 통해 개별적인 구체 객체(인스턴스)가 아닌 본질적인 정보만 표현할 수 있음.

 

핵심 요약

일반적 의미 복잡한 사물에서 공통되고 중요한 것만 뽑는 것
예술적 추상화 외형 생략, 특징 강조 → 피카소 그림, 이집트 벽화
객체지향 추상화 여러 객체에서 공통된 속성·기능만 뽑아 클래스/인터페이스로 정의
➡️ 모두 같은 개념이다.
 

객체지향에서의 "추상화"란, 피카소가 인물의 특징만을 부각해 그리듯, 현실 세계의 사물에서 필요한 것만 추출해 표현하는 행위입니다. 결국 “본질을 표현하는 기술”이며, 복잡함을 단순하게 만드는 지혜입니다.