프로그래밍에서 함수란?

프로그래밍에서 함수란?

프로그램의 다른 섹션에서 재사용하기 위해 코드를 복사하여 붙여넣는 경우가 종종 있습니까?





그렇다면 함수 사용을 고려해 볼 수 있습니다. 함수는 프로그래밍 언어의 매우 강력한 기능입니다. 코드를 더 효율적이고 읽기 쉽고 우아하게 만들 수 있습니다.





함수란?

함수는 작업을 수행하는 코드 블록입니다. 여러 번 호출하고 재사용할 수 있습니다. 정보를 함수에 전달할 수 있으며 정보를 다시 보낼 수 있습니다. 많은 프로그래밍 언어에는 라이브러리에서 액세스할 수 있는 내장 함수가 있지만 고유한 함수를 만들 수도 있습니다.





함수를 호출하면 프로그램이 현재 프로그램을 일시 중지하고 함수를 실행합니다. 함수는 위에서 아래로 읽습니다. 기능이 완료되면 프로그램은 일시 중지된 위치에서 계속 실행됩니다. 함수가 값을 반환한 경우 해당 값은 함수가 호출된 위치에서 사용됩니다.

함수를 어떻게 작성합니까?

함수를 작성하는 방법에는 여러 가지가 있습니다. 정확한 구문은 프로그래밍하는 언어에 따라 다릅니다. 다양한 프로그래밍 구문을 보여주기 위해 Python, JavaScript 및 C++로 예제를 보여줍니다.



관련: 프로그래밍 언어가 함수 없이 존재할 수 없는 이유

무효 함수

우리가 살펴볼 첫 번째 유형의 함수는 void 함수입니다. 이것은 단순히 함수가 값을 반환하지 않는다는 것을 의미합니다. void 함수는 일련의 명령을 완료하는 데 사용됩니다. 이 예에서 우리가 작성한 함수는 안녕하세요 기능 . 함수의 목적은 'Hello World'를 출력하는 것입니다.





팁: 기능을 설명하는 이름을 지정하십시오. 프로그램이 복잡해짐에 따라 기능을 관리하고 코드를 읽는 것이 더 쉬울 것입니다.

파이썬





def helloFunction():
print('Hello World')
helloFunction()

키워드 데프 파이썬에서 함수를 정의하고 생성하는 데 사용됩니다. 다음은 함수의 이름입니다. 함수의 지침은 콜론 다음 줄에 따릅니다. 공백은 Python에서 중요하므로 함수를 실행하려는 모든 코드를 들여쓰기해야 합니다. 위의 예에서 함수는 한 줄의 코드를 실행합니다.

당신의 예리한 눈은 그것을 눈치 챘을 것입니다. 인쇄() 도 함수이지만 우리 함수와 다르게 호출됩니다. 지금 당장 그 생각을 유지하십시오. 나중에 함수 will 매개변수를 살펴보겠습니다.

자바스크립트

hiberfil.sys 윈도우 10을 삭제하는 방법
function helloFunction(){
alert('Hello World!');
}
helloFunction();

자바스크립트에서 키워드 기능 함수를 생성하는 데 사용됩니다. 다음으로 함수의 이름이 있습니다. 중괄호 사이에 있는 모든 코드는 함수가 호출될 때 실행됩니다.

JavaScript에서 공백은 중요하지 않지만 함수에서 코드를 들여쓰는 것이 관례입니다. 들여쓰기를 사용하면 코드를 더 쉽게 읽을 수 있으며 이는 프로그램이 더 복잡해짐에 따라 매우 중요합니다.

참고: 매우 유사 인쇄() 앞의 예에서 알리다() 도 기능입니다.

C++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

함수는 C++에서 다르게 생성됩니다. 함수를 정의하는 키워드 대신 첫 번째 단어는 함수가 반환할 데이터 유형을 설명합니다. 이 경우 함수는 데이터를 반환하지 않으므로 데이터는 무효입니다. 다음으로 함수의 이름이 있습니다. JavaScript와 유사하게 중괄호 사이의 모든 코드는 함수가 호출될 때 실행됩니다. 또한 JavaScript와 유사하게 공백은 함수에 영향을 미치지 않지만 좋은 습관입니다.

C++ 코드에서 다른 함수를 발견하셨습니까? 예, 기본() 는 기능입니다. C++ 프로그램을 실행하면 자동으로 main 함수를 호출합니다. 주 기능이 성공적으로 완료되면 프로그램 실행에 오류가 없음을 알리기 위해 프로그램을 종료할 때 0을 반환합니다.

값이 필요한 함수

Void 함수는 동일한 코드를 계속해서 작성하는 경우에 유용합니다. 그러나 제한적일 수 있습니다. 그것들은 정적이며 변경되지 않습니다. 그들은 항상 동일한 지침을 완료합니다. 유용성을 높일 수 있는 한 가지 방법은 함수에 다른 값을 전달하는 것입니다.

모든 함수의 이름 뒤에 대괄호가 있다는 것을 눈치채셨을 것입니다. 대괄호에서 함수를 실행하는 데 데이터가 필요하다고 선언할 수 있습니다. 그런 다음 함수에서 함수에 전달된 데이터를 사용할 수 있습니다. 앞의 예를 다시 살펴보지만 이번에는 출력하고자 하는 문구를 전달합니다.

파이썬

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

이제 대괄호 사이에서 함수는 실행할 변수가 필요하다고 선언합니다. 우리는 변수의 이름을 새로운 문구 이제 함수에서 사용할 수 있습니다. 함수를 호출할 때 요청된 정보를 대괄호 사이에 넣어 전달해야 합니다. JavaScript에서도 동일한 변경 사항이 적용되었습니다.

자바스크립트

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C++

프린터가 오프라인인 이유는 Windows 10입니다.
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

우리의 C++ 함수에는 좀 더 많은 정보가 필요했습니다. 함수가 문자열 데이터를 원한다는 것을 알고 있지만 C++에는 충분하지 않습니다. 함수를 생성할 때 함수에 필요한 데이터 유형을 지정해야 합니다. 올바른 유형의 데이터를 보내지 않으면 함수에서 오류가 발생합니다.

이것은 약간 성가신 것처럼 보일 수 있지만 엄격한 언어는 종종 두통을 덜어줄 수 있습니다. 정수가 필요한 JavaScript로 함수를 작성했지만 숫자가 문자열로 전송되면 추적하기 매우 어려운 버그가 생성될 수 있습니다.

관련: 당신이 알아야 할 5가지 함수형 프로그래밍 언어

값을 반환하는 함수

우리가 다룰 마지막 기능은 데이터를 반환하는 것입니다. 이는 데이터를 사용하기 전에 변경하려는 경우에 특히 유용합니다. 인라인으로 작성할 수 있지만 영국식을 미터법으로 변환하는 것과 같이 동일한 계산을 여러 번 사용하는 경우 함수로 작성하는 것이 더 합리적일 수 있습니다. 우리의 예는 더 간단할 것입니다. 우리의 함수는 두 개의 정수를 필요로 하고 합을 반환할 것입니다.

파이썬

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

이 예에서 함수에는 하나가 아닌 두 개의 변수가 필요합니다. 변수 이름을 쉼표로 구분하여 표시합니다. 키워드 반품 다음 데이터를 반환하도록 함수에 지시합니다. 이 경우에는 2 + 4 또는 6입니다. 우리는 내부에서 함수를 호출합니다. 인쇄() 기능.

프로그램이 해당 라인에 도달하면 일시 중지되고 함수를 실행한 다음 다음과 같이 계속됩니다. 추가 기능(2, 4) 실제로는 반환된 값 6이었습니다.

자바스크립트

JavaScript 코드는 Python 코드와 매우 유사합니다. 주요 차이점은 함수가 경고에서 호출된다는 것입니다.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

C++ 코드도 비슷하게 실행되지만 평소와 같이 조금 더 많은 정보가 필요합니다. 먼저 함수가 반환할 데이터 유형을 말해야 합니다. 당신은 그것을 볼 것입니다 무효의 로 변경되었습니다 정수 . 이는 데이터를 반환하지 않는 대신 함수가 정수를 반환한다는 것을 의미합니다. 그 외에도 코드는 이미 살펴본 코드와 유사합니다.

기능 관리

함수의 재미있는 점은 함수가 다른 함수를 호출할 수 있다는 것입니다. 그들은 스스로를 부를 수도 있습니다! 그러나 큰 힘에는 큰 책임이 따른다. 더 많은 함수를 호출하는 다른 함수를 호출하는 함수로 코드를 만드는 데 미친 짓을 하지 마십시오.

언급한 바와 같이 함수가 호출될 때마다 프로그램은 함수를 실행하는 동안 일시 중지됩니다. 이것은 프로그램이 활성 메모리에서 유지되고 있음을 의미합니다. 여러 기능을 완료하지 않고 더 호출하면 더 많은 활성 메모리를 사용하고 있는 것입니다. 주의하지 않으면 프로그램이 손에서 벗어날 수 있습니다.

공유하다 공유하다 트위터 이메일 객체 캡슐화로 코드를 깨끗하게 유지하는 방법

전역 변수는 단순해 보이지만 종종 많은 버그의 원인이 됩니다. 다음은 캡슐화로 코드를 간소화하는 방법입니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 프로그램 작성
  • 함수형 프로그래밍
저자 소개 제니퍼 시튼(21편 게재)

J. Seaton은 복잡한 주제를 분류하는 데 전문적인 과학 작가입니다. 그녀는 서스캐처원 대학교에서 박사 학위를 받았습니다. 그녀의 연구는 온라인에서 학생 참여를 늘리기 위해 게임 기반 학습을 활용하는 데 중점을 두었습니다. 그녀가 일하지 않을 때, 당신은 그녀가 책을 읽거나, 비디오 게임을 하거나, 정원 가꾸기를 하는 그녀를 발견할 것입니다.

제니퍼 시튼이 참여한 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.