일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- SQL
- 정보처리기사실기
- 상속
- 정보처리기사필기
- JSP
- CSS
- 자바스크립트
- 중학수학
- 파이썬
- 연습문제
- 컴퓨터비전
- 데이터분석
- 머신러닝
- ChatGPT
- 컴퓨터구조
- 혼공머신
- 디버깅
- c언어
- JSP/Servlet
- 중학1-1
- 개발일기
- 자바스크립트심화
- html/css
- JDBC
- 데이터베이스
- 순환신경망
- 자바
- 딥러닝
- rnn
- 자바 실습
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
메서드 3 - 함수의 정의와 호출, 사용방법에 대하여 본문
오늘부터는 인공지능 사관학교에서 받은 수업을 매일 자율학습 시간에 정리해 보기로 했다. C/S 프로그래밍이라고 해서 새로운 과목을 배우는 줄 알았는데 전날 수업했던 자바 응용 시간의 연장선이었다.
지난 2주 동안은 프로그래밍의 시작부터 배열까지 진도를 나갔다. 난 배열의 거의 끝 무렵에 수업을 들어갔는데 정말 어려웠다. 그리고 오늘부터는 새로운 단원에 들어갔다. 클래스와 메서드이다. 함수는 C 언어에서도 했던 거라 수업을 따라갈만했다. 그동안 C언어, C#, C++을 공부했던 시간들이 헛되지 않았음을 느꼈다.
이번주에 엘리스에서 들어야 하는 과목들도 굉장히 많아서 다 하지 못할 수도 있다. 그런 부분은 주말에 정리하고, 되도록이면 빨리 현재의 수업과 지난 수업들과의 간극을 매워볼 것이다. 그럼 오늘의 자바 함수 첫 수업을 시작해본다!
수업을 듣는 중에 놓쳐서 기록하지 못한 부분은 다음에 다시 들을 때 보충 설명하여 추가 기록하려고 한다. 지난번에 공부했던 내용을 추가로 작성하며 새 프로젝트에서 직접 실습을 진행해 보았다.
1. 함수란 무엇인가?
실행시키는 코드는 메인 안쪽에 넣어주는 것이 메서드이다.
함수는 수학에서 쓰이는 함수와 비슷하다.
어떤 값을 집어넣으면 식에 해당하는 결과값이 나온다.
2. 함수는 왜 필요할까?
함수가 없으면 이렇게 println을 사용해서 계속 노가다 작업을 해야 한다.
이렇게 열심히 출력을 만들었는데 갑자기 가산점을 13점으로 더하라는 지시가 내려오면 일일이 하나하나 13을 더해주어야 한다.
하지만 함수를 만들면 이러한 작업을 단 몇 줄로 줄일 수 있다.
sum을 함수로 만든 코드이다. 메서드를 만들고 메인에서 사용하면 된다. 함수의 장점은 다음과 같다.
- 유지 보수가 용이하다.
- 프로그램 생산성이 높아진다.
1000을 증가한 값이 출력되었다.
3. 메서드 정의와 호출
메서드의 정의
메서드의 정의는 메인 함수 바깥쪽에 public 키워드로 정의한다.
public은 접근제한자로 직역하면 공공의 라는 뜻이다. 즉, 클래스 내·외부에서 자유롭게 접근이 가능한 제한자를 말한다.
public, private, protected, default
이렇게 4가지 종류로 나뉜다. 지금은 이런 게 있다는 정도로 알고 다음에 더 깊이 있게 공부할 시간이 있을 것이다.
메서드 만드는 방법
1. 접근 제한자로 작성한다
2. static을 사용한다
static은 저장소라는 말이다. 사용하려면 static 장소에 저장되어 있어야 한다.
3. 리턴값과 결과값과의 관계를 파악한다
이는 매우 중요하다. 리턴 타입을 명시하는 것인데 데이터 타입을 리턴 타입으로 작성한다.
길과값과 리턴값의 데이터 타입을 적어야 한다.
4. 메서드명, 호출명을 쓴다
- 메서드 : 기능을 사용하기 위해 정해놓은 이름
모든 메서드는 소괄호를 가지고 있다. 메인도 메서드인데, println는 메서드를 출력하는 기능이다.
5. 매개변수를 작성한다
매개변수는 메서드 안에서 사용되는 변수이다. 변수는 선안만 되어 있는 상태이며 값을 실행시킬 때 보내지는 값을 정해야 한다.
매개변수는 없어도 되며, 없을 시 괄호만 써준다. 매개변수를 다른 말로 parameter라고도 한다. 매개변수 오류시 이 메시지가 뜨기도 한다. 그리고 중괄호는 바디, 메서드의 로직이다.
6. 결과값을 리턴한다
이 예시에서 보면 a + b의 결과값을 result에 담아서 리턴한다. 메서드는 결과값을 호출한 곳으로 돌려주는 기능을 가지며, 돌려줌과 동시에 메서드를 종료시킨다.
결과값에 데이터 타입(int, float, double 등)이 명시되어 있으면 반드시 return을 쓰고 돌려주어야 한다.
리턴하지 않을 때는 void라고 쓰며 생략도 가능해서 써도 되고 안 써도 된다.
7. 메서드를 사용한다
메서드를 사용한다는 것은 실행시킨다는 뜻과 같다. 메인 안쪽에서 사용하고 실행한다. 이때 메서드의 이름을 적어주어야 한다.
sum(5, 10)에서 5, 10은 전달인자 즉, argument이며 sum으로 전달된다. sum은 호출명이다. 5는 a에, 10은 b에 전달되며 호출한 곳으로 돌아간다. 만든 순서대로 그대로 들어간다. 결과적으로 sum에는 15의 값이 들어온 상태가 된다.
매개변수와 전달인자와의 관계
전달인자는 int 자료형이다. 다음의 사항을 유의해야 한다.
- 매개변수가 2개이면 전달인자를 사용할 때도 2개여야 한다
- 데이터 타입이 같아야 한다
- 매개변수 순서 그대로 작성해야 한다
학습을 마치고
함수의 이론에 대해서 정리해 볼 수 있었다. 거의 끝무렵에 실제적인 매개변수의 활용 예시를 코딩해 보았는데, 그 부분은 다음 포스트에 이어서 기록해보려고 한다.
신기하게도 오늘 수업은 한 70% 이상 이해가 되었다. 금요일 첫날은 10%도 이해되지 않았고, 어제인 둘째 날은 40%, 오늘은 70% 이렇게 매일 성장하는 게 느껴졌다.
남아서 공부를 하고 싶을 정도로 공부가 재미있다. 나머지 부분은 인사교에 남아서 해볼지 아니면 집에 가서 할지 고민이 좀 된다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
메서드 5 - 메서드 실습 문제 풀기 : 두 수의 나눗셈 , 큰 수 비교하기 (0) | 2024.08.13 |
---|---|
메서드 4 - 매개변수과 리턴값의 타입 4가지 (0) | 2024.08.13 |
메서드 2 - 다양한 메서드 유형 실습해보기 (0) | 2024.08.13 |
메서드 1 - 메서드에 대하여 이론 학습 (0) | 2024.08.13 |
반복문과 배열 그리고 예외 처리 19 - 다차원 배열과 비정방형 배열 (0) | 2024.08.13 |