켄트 벡
-
[클래스 / Class] 클래스(Class)의 기본Software/Implementation Pattern 2019. 6. 4. 00:52
"현실 세계에 존재하는 것은 클래스(Class)의 인스턴스(Instance)일 뿐이다" - 플라톤 - 객체 지향 프로그램은 위 플라톤이 말한 후기 서양 철학의 클래스와 인스턴스의 아이디어를 도입하였다. 여기서 클래스는 비슷한 성질을 가진 모든 것을 총칭하는 단어이고 객체는 이러한 클래스를 구체한 것이라 할 수 있다. 객체 지향 프로그램에서 클래스와 객체가 가지는 의미와 중요성은 매우 크며 실제 프로그램 구현 패턴에서도 클래스 관련 구현 패턴이 가장 많은 양을 차지하고 있다. 클래스의 사용 이유 객체 지향 프로그래밍에서 클래스를 사용하는 이유는 명확하다. 그건 바로 로직에 비해 데이터의 변화가 빈번하게 이루어 지기 때문이다. "클래스의 로직과 데이터는 함께 사용되며, 로직은 데이터에 비해 변화율이 낮다. ..
-
[Refactoring] 위대한 시작..Software/Refactoring : 리팩토링 2017. 9. 23. 18:19
* 해당 포스팅은 Martin Fowler의 Refactoring 책의 내용을 정리한 것이다. 현업에서는 동일한 소스 코드를 여러명이 붙어서 수정하거나 디버깅 하기 때문에 직관적이고 이해가 쉬운 코드를 작성하는 것이 매우 중요하다. 그러나 우리는 언제나 그렇듯 일정에 쫓겨 날림 코드를 작성해야만 하는 경우가 매우 많다. 이렇게 추가/수정 된 코드들은 결국 작성자만 알게되는 코드로 남게 되고 이는 다른 개발자들의 휴먼 에러(Human Error) 혹은 사이드 이펙트(Side Effect)를 불러일으키게 되는 주요 원인이 되기도 한다. 이렇게 작성 된 코드들로 인해 지저분해진 설계/구조를 수정하고 재배치, 변경하는 작업을 우리는 리팩토링(Refatoring) 이라고 한다. 리팩토링을 통해 우리는 성능 향상,..