본문 바로가기
코리아 IT아카데미/python 인터넷 강의

ddazua | 22강 함수와 메소드 이론

by Sharon kim 2021. 10. 4.
함수 : 어떠한 영역에도 갇혀있지 않고 선언된 것 -c언어 쓰임
메소드 : 어떠한 영역 안에 갇혀서 선언된 것 -자바에서 쓰임

        f{x} = 2x+1
        g(z) = 3z*9
        print()
        input()

        이름뒤에 소괄호가 있는 것이 함수다.
        단 키워드()는 함수가 아니다.
        키워드()
        -if()
        -while()
        -for()

함수
f    (x)   =   2x+1
이름  매개변수   리턴값
함수에 리턴이 있으면 사용한 부분 통째로를 리턴값으로 보자

함수의 선언
        def (1)메소드명((2)매개변수,...):
                (3)실행할문장
                (4)return 리턴값
(1)동사로 작성한다 (연필(매개변수)을 쓴다(함수))
(2)외부에서 값을 전달받기 위해서는 반드시 선언되어야 하며, 생략이 가능하다.
(3)생략 가능하다.
(4)생략 가능하다.

메소드 선언시 주의사항
        메소드 내에서 다른 메소드를 선언하지 않고
        메소드를 사용할 때는 보통 메소드 안에서 사용한다.
        매개변수가 없을 때에는 사용 시 값을 전달할 수 없다.
        리턴 값이 있다면 사용하는 부분 통째로를 리턴값으로 보자.

메소드 선언 순서
예) 두 정수의 덧셈 메소드 만들기

1. 메소드 이름을 생각한다.
            def add():

2. 매개변수를 생각한다.
            def add(num1, num2):

3. 실행할 문장을 생각한다.
            def add(num1, num2):
                    result = num1 + num2
4. 리턴값을 생각한다.
            def add(num1, num2):
                    result = num1 + num2
                    return result

메소드의 목적
           1. 재사용의 목적(단, 특정성을 부여해서는 안된다.)
           2. 소스코드 간결화

리턴을 해야할 때
        메소드 내에서 모든 작업이 끝나지 않을 때
        사용하는 부분에 메소드 내의 작업 결과를 알려 주어야 할 때
리턴을 하지 않아야 할 때
        메소드 내에서 모든 작업이 완료될 때,
        사용하는 부분에 결과를 알릴 필요가 없을 때