Activity 6 - 함수 (Functions)

좋아요!

여러분은 이미 프로그램의 많은 부분을 완성했습니다!

이번 활동에서는 **함수(Function)**를 사용하여 코드를 섹션 별로 그룹화합니다.

함수(Function)

함수를 사용하면 프로그램의 작업을 작은 작업 단위로 나누어 메인 함수(main function)와 분리할 수 있습니다.

함수를 하나의 기계로 생각할 수 있습니다. • 기계를 켜면 명령어가 실행되어 최종 결과를 반환합니다. • 서로 다른 프로세스를 수행하는 여러 기계를 만들 수 있으며, 각각의 기계는 이름과 반환 결과 유형으로 구별됩니다.

이번 활동에서는 반환 값이 없는 void 유형의 함수를 사용합니다. 이 함수들은 명령어만 처리하며 아무것도 반환하지 않습니다.

수를 선언(생성)하려면 주 함수 외부를 사용해야 합니다:

void name_function(){
    //Code here
}

코드 분석:

  1. 반환 유형(Return type): 함수가 반환할 객체의 유형을 나타냅니다. 여기서는 void를 사용하여 반환값이 반환 값이(띄어쓰기) 없음을 지정합니다.

  2. 함수 이름(Function name): 이 예에서는 name_function입니다.

  3. 괄호 (): 함수임을 나타내기 위해 함수 이름 뒤에 추가합니다.

  4. 중괄호 {}: 함수 실행 시 수행할 명령어 블록을 나타냅니다.

함수 호출하기

우리가 선언한 함수는 main() 함수 외부에 있으므로, Run을 눌러도 함수 내부의 명령어가 실행되지 않습니다. 따라서 main() 함수 내에서 함수를 호출해야 합니다. 함수를 호출하려면 아래와 같이 작성합니다:

name_function();

함수 이름 뒤에 괄호를 추가하고 세미콜론(;)으로 끝냅니다.

이렇게 하면 name_function() 내부의 명령어가 실행됩니다.

함수의 매개변수(Parameters)

함수를 선언할 때 **매개변수(parameters)**를 전달할 수 있습니다. 매개변수는 함수가 명령어를 실행하는 데 사용할 추가 객체들입니다. 매개변수는 함수의 괄호 안에 작성합니다.

예제:

void name_function(int sum, int &number){
    number += sum;
}

그리고 main() 함수에서는 몇 가지 매개변수를 사용하여 ‘이름_함수’라고 부를 수 있습니다:

int main(){
    int x = 25;
    int y = 5;
    name_function(y, x);
}

우리가 무엇을 했는지 자세히 이해해 봅시다:

  1. name_function을 선언할 때 괄호 안에 어떤 변수를 함수에 전달할지 적습니다. 그런 다음 함수 본문에서 이러한 변수를 사용할 수 있습니다.
  2. main에는 이미 두 개의 변수가 선언되어 있었고, 이 변수를 매개변수로 변환하여 생성된 함수 name_function에 전달했습니다. 이렇게 하면 변수 sum 은 변수 y와 같습니다.
  3. 변수 ‘숫자’ 앞에는 이 기호 ‘&‘이 있습니다. 즉, 함수 내에서 변수를 수정하면 주 함수에서 변수로 전달하는 변수도 수정됩니다. 즉, 변수 ‘x’는 앞에 기호를 쓸 때 참고로 전달하기 때문에 함수에 의해 수정됩니다. 이 기호를 넣지 않으면 함수에 값을 수정하더라도 main의 변화를 볼 수 없습니다.

좋아요!

이제 메시지를 암호화하는 함수와 복호화하는 함수 두 가지를 만들어 보겠습니다. 이를 위해 이미 가지고 있던 코드를 사용하고 새로운 것도 프로그래밍할 것입니다.

  1. 먼저 암호화와 마찬가지로 이름을 복호화하는 void 유형의 반환 함수를 선언합니다. 이 함수의 이름을 ‘decrypt()‘로 지정합니다.

  2. ‘암호화()’encrypt() 함수의 내용을 새로운 ‘복호화’ 함수에 복사합니다.

  3. ‘합’sum 변수에서는 키워드의 이름과 문자를 추가하는 대신 문자 ‘a’를 추가하고, 마지막 문자가 임의 문자가 아닌 알파벳의 문자가 되도록 문자 ‘a’를 추가합니다.

  4. 조건을 변경하여 알파벳을 입력합니다. ‘합’이 문자 ‘z’보다 큰지 확인하는 대신 ‘합’이 ‘a’보다 작은지 확인합니다. 그렇다면 뺄셈 대신 변수에 ‘25’를 추가합니다.

  5. main 함수에서 메시지를 암호화할지 복호화할지에 따라 해당 함수를 ‘if’ 조건으로 호출합니다.

완료되면 Run 키를 누르고 다음 예제를 시도해 볼 수 있습니다:

programmer
1
reina
witvczxipigrmg
2
reina

당신도 자신만의 비밀 단어를 사용해 보세요!

항상 이전 활동으로 돌아갈 수 있다는 점을 기억하세요

Replit 실행하기