"인간은 사회적 동물이다." - 아리스토텔레스
그리스 철학자 아리스토텔레스가 한 말이다. 우리 인간은 혼자 살아가는 존재가 아니라, 여러 사람들과 함께 사회를 이루며 살아간다. 이 과정에서 중요한 것이 바로 소통(Communication)이다.
프로그래밍에서도 소통은 중요한 역할을 하며, 그중에서도 추상화(abstraction)는 필수적인 개념이다.
소통을 잘하려면 본인이 생각하는 것을 잘 표현하는 능력이 필수적이듯이, 프로그래밍에서도 코드를 명확하게 작성하고 복잡한 것을 단순화하는 능력이 필요하다.
추상화는 여러 사물이나 개념에서 공통된 특성이나 속성을 추출해 핵심만 표현하는 것을 의미한다. 프로그래밍에서는 복잡한 시스템을 단순화하고, 불필요한 세부 사항을 숨기고 꼭 필요한 부분만 뽑아서 전달하는 과정을 의미한다.
추상화의 사전적인 의미는 "여러 가지 사물이나 개념에서 공통되는 특성이나 속성을 추출하여 파악하는 작용"이다.
예를 들어, 우리가 지도(Map)를 사용할 때 복잡한 모든 정보를 다 담기보다는 필요한 정보만 추려내서 목적에 맞게 사용한다.
이처럼 추상화는 단순하고 간결하게 표현하면서도 그 핵심을 명확하게 드러내는 것이기 때문에, 코드 작성 시에도 훨씬 효과적인 소통이 가능하다.
프로그래밍에서 추상화는 핵심적인 역할을 한다.
프로그래밍에서 추상화는 복잡한 시스템을 이해하기 쉽게 단순화하는 기술로, 불필요한 세부 사항을 감추고 핵심적인 기능만을 보여준다. 이 과정을 통해 개발자는 코드의 복잡도를 줄이고 유지 보수를 쉽게 할 수 있다.
프로그래밍에서 중요한 개념인 변수, 함수, 객체는 모두 추상화의 일환이다.
예를 들어,
변수는 복잡한 데이터를 단순히 이름으로 참조할 수 있게 하여 소통을 더 원활하게 한다.
함수는 특정 기능을 캡슐화하여 필요할 때 호출함으로써 복잡한 로직을 단순화한다.
객체는 데이터를 구조화하여 다루기 쉽게 만든다.
이렇게 복잡한 것들을 목적에 맞게 단순화하는 것이 바로 프로그래밍에서의 추상화다.
추상화는 프로그래밍에서 복잡한 정보를 단순화하고 핵심을 전달함으로써 코드의 가독성을 높이고 유지 보수를 쉽게 하는 중요한 개념이다.
다음으로 JavaScript에서 중요한 개념인 변수, 함수, 객체에 대해 다룰 예정이며, 추상화와 변수의 관계를 통해 프로그래밍에서 효율적인 코드 작성 방법을 더 잘 이해해 보려 한다