본문 바로가기

연재작/프로그래밍 언어

(10)
Java Collection, Map에 내재되어 있는 수학 Java에서는 여러가지 자료구조를 제공하기 위해서java.util을 통해 Collections라는 기본 인터페이스를 내장하고 있다.여기에서 나오는 각종 자료구조들을 우리가 프로그래밍에서 사용하게 된다. Collection을 상속받는 인터페이스는 크게 List, Set이 있으며Collection을 상속받는 인터페이스는 아니지만 Map도 Collection으로 분류한다.제일 상위에 있는 만큼Collection은 상속할 인터페이스, 클래스에게 공통적으로 중요한 메소드를 정의한다. 그런데 이러한 메소드들을 살펴보면 상당히 특이한 부분이 있다.이 메소드들은 진짜 너무나도 기초적인부분인데, 마치 수학에서의 집합과 매우 유사하다.그리고 더 나아가서 생각해보면 이런 자료구조들은 수학에서의 집합과 다를바가 없다. Col..
수학적 철학을 가미한 함수형 프로그래밍 처음에 프로그래밍에 입문했을때 제일 큰 충격은 다음의 한 줄 이었다.i = i + 1; 돌아버린거냐? 라는 말이 절로 나왔다.아무리 그래도 컴퓨터의 근본은 수학으로 알고 있었는데...어떻게 맨 처음부터 나오는 명령이 저런거라니 라는 생각밖에 안들었다. 시간이 흘러 최근 JavaScript를 접하면서 함수형 프로그래밍이라는 새로운 개념을 접했는데,찾아보니 수학적인 철학?이 많이 차용된 것 같은 것 같아서 조금은 기뻤다.사실 함수형 프로그래밍이더라도 저 선언은 사용한다.그렇지만 이제 익숙해져버려서 거부감이 있거나 그러진 않고.. 몇가지 수학적인 성질이 들어가 있길래복습겸 정리해보자 한다.  1. 순수 함수(Pure Function)를 지향기본적으로 수학에서의 함수와 그간의 프로그래밍 언어에서의 함수는 차이가..