객체지향 프로그래밍(OOP): 추상화(abstraction) vs 구체화(concretization)
·
프로그래밍/Programming
추상화(abstraction) vs 구체화(concretization)1. 추상화(Abstraction)"복잡한 현실 세계에서 핵심적인 속성과 기능만을 뽑아내는 과정" 예시현실 세계에는 '사람'이라는 개념이 있다.사람마다 이름, 나이, 성별, 키, 말하기, 걷기, 먹기 같은 다양한 속성과 동작(기능)을 가지고 있다.이를 프로그래밍 관점에서 하나의 타입(클래스)으로 만들어 볼 수 있다.class Person { String name; int age; void speak() { ... } void walk() { ... }}위의 `Person` 클래스는 "사람이라는 개념을 일반화(=추상화)"한 것이다. 👉 실제 사람이 아닌, 사람의 공통된 특징(속성/기능)만 뽑아 표현한 것! 추상화 ..