프로그래밍 종류

기능(Function)이란?

기능은 입력(In) · 출력(Out) 으로 구성된다.

결국 A라는 기능은 입력과 출력으로 구성된다.

<aside> 💡 ex) 로그인의 기능에서 사용자가 ID/PW를 입력하게되면, 결과로써 로그인을 시켜주거나, 혹은 로그인이 되지않거나의 출력으로 구성된다.

</aside>

위의 예시의 IN, OUT은 명시적인 IO 이다.

대표적으로 스프링에서는 controller → service → dao → DB 이러한 절차로 기능이 실행될 것인데 이것은 의존의 형태를 띈다.

기능 명세는 위에 같은 형태를 띄게 되는데, 여기서 예로 명시적인 IN은 파라미터 혹은 Request가 될 것이다.

이때 IN,OUT 파라미터로 주지않는 모든것은 암묵적인 IO이다. 암묵적인 IO는 의존의 형태를 띄게된다.

암묵적인 IO는 의존이 될 가능성이 있다.

예시를 하나 들어보면..

<aside> 💡 ex) IN: regist(...)란 함수, OUT: 결과 or 예외 일때, 기능: 회원가입시 이메일로 보내주세요.

</aside>

위와같이 IN, OUT이 결정되었고, 기능은 회원가입시 이메일로 보내달라는 기능을 프로그래밍한다고 가정해보자.

여기서 회원가입시 확인해야할 유효성체크, 중복확인, 암호화, 가입처리, 이메일 전송의 기능까지 + 하였다.