바로 개발자들 간의 소통 언어이기 때문입니다!
특정한 디자인 패턴으로 짜인 스크립트는 모르고 보면 해석하기 어렵지만, 알고 있다면 쉽고 빠르게 다른 기능을 추가하거나 보다 나은 최적화를 할 수 있습니다.
코드 길이가 상대적으로 짧아지고, 유연성이 증가해 여러 번 똑같은 코드를 짜는 불상사를 막습니다. 또한, 유지보수 및 확장을 용이하게 만들어 전체적인 코드의 질을 높입니다.
파이썬을 기준으로 디자인 패턴에 대한 이론과 구체적인 실습을 진행해보도록 하겠습니다.
흔히 윈도우처럼 그래픽(그림)을 이용해 프로그램을 조작하는 것을 그래픽 인터페이스!, GUI라고 한다. 여기서 인터페이스가 의미하는 것은 무엇일까?
윈도우 바탕화면에서 파일을 드래그해서 다른 파일로 집어 넣을 때, 컴퓨터 속에서 어떤 현상이 일어나는지 알고 있는가?
운영체제가 메모리에 접근해서 주소를 변경하고… 이런 일련의 과정들은 사용자가 알 필요가 없다.
프로그래밍에서도 마찬가지다. Python의 sort()
메서드를 예로 들면, 우리는 list.sort()
라는 간단한 명령어만 사용하고, 내부적으로 복잡한 팀소트(Timsort) 알고리즘이 실행되어 배열이 정렬된다는 사실만 알면 된다.
즉, 인터페이스는 개발자가 내부 구현을 몰라도 함수의 이름과 같은 정해진 규칙과 약속만으로 필요한 기능을 사용할 수 있게 해주는 명령 포장지이다. 사용자는 sort()
라는 인터페이스를 통해 복잡한 정렬 과정을 추상화해 편리하게 이용할 수 있다.