순수함수 (2) 썸네일형 리스트형 [코틀린] 순수함수로 정의 될 수 있는 함수 순수함수를 한마디로 정의하면 부수효과가 발생하지 않는, 그래서 같은 매개변수 값으로 함수를 이용하면 항상 같은 값을 반환하는 함수를 의미한다. 여기서 말하는 부수효과는 뭘까? - 함수 외부의 다른 값을 변경하지 않는다. - 함수 내부에서 별도의 입출력이 발생하지 않는다. (파일, 데이터베이스, 네트워크 등) [랜덤 값이 발생하는 함수] fun some(a:Int):Int{ return (Math.random()*a.toInt() } 위의 함수는 매번 some(10)으로 호출하더라도 결과값이 매번 다르게 반환하므로 순수함수가 아니다. [파일 입출력이 발생하는 함수] fun some1(a:String):Boolean{ try{ val file = File("a.txt") val out = FileWriter.. [코틀린] 함수형 프로그래밍이란? 현대의 프로그래밍 언어에서 함수형 프로그래밍은 중요한 이슈 중 하나이다. 코틀린도 마찬가지로 함수형 프로그래밍(Functional Programming, 약어로 FP)을 위한 많은 기법을 제공한다. 일단, 함수형 프로그래밍이란 일종의 프로그래밍 패러다임이다. 소프트웨어 개발 패러다임의 역사가 절차지향에서 객체지향으로 변화했듯이 요즘에는 함수형 프로그래밍이 떠오르고 있다. 각 프로그래밍 패러다임을 아래와 같이 정리할 수 있다. * 절차지향 프로그래밍 - 알고리즘과 로직 중심으로 문제 해결이 주목적 (ex c, pascal) * 객체지향 프로그래밍 - 클래스 선언이 최우선, 데이터와 데이터를 처리할 메서드를 하나로 묶어 객체로 만들고 객체를 조합해서 프로그래밍을 작성 객체를 만들기 위한 추상화, 캡슐화, 상.. 이전 1 다음