Generic Component(재사용 가능한 component) 소스 코드를 수정하거나 사소한 변경없이 다양한 컨텍스트에서 확장(extended), 조정(adapted) 및 재사용(reused)할 수 있는 프로그램 구성 요소. 객체 간 기능을 공유한다. Refactoring이란? 반복되는 코드를 계속 사용하는 것이 아니라, 하나의 generic component로 만들어서 계속 사용하게 코드를 바꾸는 것이다. refactoring를 하면, 가독성을 높이고 유지보수를 쉽게 할 수 있게 도와준다. Generalizing - 일반화 유사한 문제의 범주에 대한 특정 해결책의 재구성 Refactoring 과정 다양한 위치에서 중복 코드 세그먼트 식별 중복 logic을 generic component로 캡처 반복..
데이터 추상화에 대해서 알기 위해 먼저 추상화를 알 필요가 있다. 추상화(abstraction)는 여러가지 필요한 부분, 중요한 부분을 하나로 만드는 것을 말한다. 그 예로, 동그란 원에 숫자가 12개까지 있고 시침과 분침 초침이 있는 걸 무엇이라고 할까? 더보기 답은 '아날로그 시계' 이다. 추상화는 아주 중요한 부분을 통합하여 그 의미가 무엇을 의미하는지를 알 수 있게 해준다. 그렇다면 데이터를 추상화한다는 것은 무엇일까? 간단하게 말하자면, 여러 데이터를 하나로 묶어(단순화) 더 높은 단계로 정의(추상화)하는 것이다. 다시 말해 데이터가 직접적으로 정의된 것(물리적인 표현)을 의식하지 않고 추상화한 데이터형으로써 사용하는 것이다. 이러한 데이터의 물리적 표현과 그 기본 조작 절차를 묶어 정의하고 그..