본문 바로가기

Program Language

(3)
First-class citizen 일급객체 (first-class object) First-class citizen은 컴퓨터 과학에서 일급객체(first-class object)와 동일한 의미로 사용되며, 언어의 일부로서 값으로 취급되는 모든 것을 의미합니다. 이 개념은 특히 함수형 프로그래밍과 객체지향 프로그래밍에서 중요하게 다뤄집니다. 예를 들어, 언어에서 함수를 First-class citizen으로 취급한다면, 함수를 변수에 할당하고 함수를 다른 함수의 매개변수로 전달하고 함수를 반환값으로 사용할 수 있습니다. 이렇게 하면 코드가 더욱 간결하고 유연하게 작성될 수 있으며, 다양한 프로그래밍 패턴을 쉽게 구현할 수 있습니다. 또한 객체지향 프로그래밍에서는 First-class citizen으로 객체를 취급합니다. 객체는 다른 객체의 속성이 될 수 있으며, 객체는 메서드를 포함하..
함수형 프로그래밍 함수형 프로그래밍(Functional Programming)은 컴퓨터 프로그래밍 패러다임 중 하나 함수를 이용해 문제를 분해하고 해결하는 프로그래밍 방식입니다. 이는 명령형 프로그래밍(Imperative Programming)과 대비되며, 상태 변화를 최소화하고 순수 함수(Pure Function)를 이용해 코드를 작성하는 것이 특징입니다. "순수 함수"란 함수가 입력값에 대해 언제나 동일한 결과를 반환하면서 부작용(side-effect)이 없는 함수를 의미합니다. 즉, 같은 인자를 전달하면 항상 같은 결과를 반환하며, 함수 외부의 상태를 변경하지 않는 함수입니다. 이러한 순수 함수는 프로그래밍에서 예측 가능하고 안정적인 동작을 보장합니다. 순수 함수는 함수형 프로그래밍에서 매우 중요합니다. 함수형 프로..
Kotlin을 사용하면서 중요하다고 느낀점 Null 안전성 코틀린은 Nullable 타입을 지원하여 Null 안전성을 보장합니다. 이를 통해 Null 관련 오류를 방지하고 안정성을 높일 수 있습니다. 확장 함수와 프로퍼티 코틀린에서는 클래스의 기능을 확장할 수 있는 확장 함수와 프로퍼티를 지원합니다. 이를 통해 기존 클래스의 기능을 확장하거나, 라이브러리를 확장하는 등의 기능을 구현할 수 있습니다. 함수형 프로그래밍 코틀린은 함수형 프로그래밍을 지원하여 코드의 간결성과 가독성을 높일 수 있습니다. 이를 통해 코드의 유지 보수성을 향상시킬 수 있습니다. 자바와의 상호운용성 코틀린은 자바와 완벽하게 상호운용이 가능합니다. 이를 통해 기존의 자바 코드를 그대로 사용하면서, 새로운 코틀린 코드를 추가하거나, 기존 자바 코드를 대체할 수 있습니다.