Function and Concept
포스트 난이도: HOO_Junior
# Functions
Functions이라고 하면 Programming을 공부했던 사람이라면 누구나 알고 있는 용어이다.
Function을 생각하면 다양한 것들이 있겠지만 sum과 같은 standard function이 생각난다.
하지만 특정 Function이 무엇이고 어떤 것들이 있으며, 어떻게 사용하는지는 알지만 Function에 대한 정확한 정의는 모르는 경우가 있다.
이것이 바로 Precise thinking이 부족하지만 Heuristic thinking은 되어 있다고 볼 수 있다.
# What is a function?
Function은 프로그램 안에 들어가는 하나의 요소이며, 프로그램에서 Function은 아래와 같은 구조를 가지고 있다.
- Function name
- inputs
- outputs
- parameter inputs
우선 inputs과 parameter inputs은 같은 것이라고 생각하면 된다.
예를 들어 Sum()이라는 function을 사용할 때 괄호 안에 들어가는 값은 input 값이다.
따라서 function을 정의하고 구성하는데 있어서 input 값이 존재할 수도 있고 parameter로 된 input값이 존재할 수도 있다.
Function에 대한 정의는 user defined function에서는 이루어지지 않으며 standard functions들에 대해서 정의가 이루어진다.
sum(x) = y
예를 들어서 위와 같은 예제있다고 가정한다면, 여기서의 Function name은 sum이라는 function이 된다.
또한 parameter input은 x이며, output은 y가 된다는 걸 정의할 수 있다.
이처럼 특정 function을 정의한다고 하면 위와 같이 정의가 가능하다는 것이다.
# Concepts
Function을 어떻게 정의하는지를 알았다면 Concept에 대한 정의도 가능하다.
Concept의 정의도 사실 Function의 정의와 크게 다르지는 않다.
Concept name
Parameters(includ both input and output)
Concept을 정의할때는 위와 같은 내용들을 알아야 한다.
HOO is a wirter of the HOOAI
위와 같은 문장에서 Concept을 정의한다고 하면 Concept name은 writer이나 isWriter가 된다.
또한 Parameters의 경우에는 input과 output이 모두 있어야 하기에 HOO와 HOOAI가 Parameters가 된다.
또 다른 예를 살펴보도록 하자.
x+y+z = i
위와 같은 식이 있다면, Concept name은 +인 add가 된다.
Parameters의 경우에는 input과 output이 모두 해당되기 때문에 x, y, z, i 모두가 Parameters에 해당된다.
한마디로 Concept name은 하나일지라도 Parameters 안의 해당되는 arguments들은 여러 개일 수 있다.
'Computer Science' 카테고리의 다른 글
[Automata] Prove Statements (0) | 2022.03.08 |
---|---|
[Automata] Statement (0) | 2022.03.07 |
[Automata] Automata란? (0) | 2022.03.07 |
[Operating System] Preemptive Scheduling Algorithm (0) | 2022.03.04 |
[Operating System] Scheduling (0) | 2022.03.04 |
댓글