Page 39 -
P. 39
앞서 언급했듯이, 코드를 구조화하는 방법에 대해 배울 수 있는 훌륭한
참고 도서를 이미 알려주었기 때문에 이 책에서는 코드 구조화 방법에 대해
구체적으로 언급하지는 않을 것이다. 하지만 나중으로 미루지 말고 코딩을
처음 배울 때부터 깔끔하게 잘 작성하는 법을 배워두길 바란다.
초보라 하더라도 코드의 의미가 잘 드러나도록 깔끔하고 간결하고 이해
하기 쉽게 코드를 작성한다면 면접관은 그 코드의 작성자가 경력이 풍부하다고
추측할 것이다. 그런 사람은 실제로 그만 한 수준에 이른 것일 수 있다. (아니
면 적어도 그렇게 되어가는 과정에 있을 것이다.) 왜냐하면 자신의 경력을
단순히 생계유지용 직업의 차원이 아닌 전문직이라는 칭호를 듣기에 걸맞
게 관리하고 있는 것이기 때문이다. 그런 자세는 진정한 장인의 표식이다.
객체지향 설계
객체지향 object oriented 언어를 배운 사람이 아니라면 이견을 제시할 수 있
는 항목이다. 하지만 소프트웨어 개발자 중 상당수가 객체지향 설계의 관점을 취하
므로 이 개념을 이해해둘 필요가 있다.
객체지향 설계는 복잡한 프로그램을 개별 클래스나 객체(클래스의 인스
턴스)로 나누어 디자인하는 방법으로 이때 클래스나 객체는 기능을 캡슐화
encapsulate하고 특정한 역할과 책임을 수행한다. 소프트웨어 개발 세계에서
는 복잡성을 어떻게 다룰지 늘 고민해야 한다. 객체 관점에서 생각하면 복잡성을
다루는 데 도움이 된다. 그러면 복잡한 시스템 전체를 한꺼번에 다루지 않
고 상호 작용하는 컴포넌트로 정의한 다음 설계할 수 있기 때문이다.
요즘 실용적인 프로그래밍 언어가 많아졌다. 그렇다 해도 소프트웨어 개발
업계에서 가장 인기 있는 언어와 설계 패턴은 객체지향 설계와 분석의 영향을 여전히
강하게 받고 있다. 다형성 polymorphism이나 캡슐화 encapsulation 같은 용어를 이
3장 당신이 배워야 하는 기술 055
커리어스킬_07.indd 55 2019-03-25 오후 5:37:31