오늘은 자바의 메소드를 공부했다.
드디어 C와는 구별되는 메소드이다.
흠, 그런데
공부하면서 보니 C언어의 함수 와 같았다.
쓰임도 같고, 모양새도 같고, 어디선가 익숙한 듯한 형식이다.
그래서 조금 더 쉽게 받아들일 수 있었다.
JAVA는 객체지향 언어로써 메소드를 잘 이용해야 자바를 쓰는 의미가 있다.
그러면 메소드를 잘 쓰는 연습을 시작해야겠다.
메소드
메소드 형식
public static void main(String[] args)
: 이 전까지 우리가 써왔던 메소드 선언이다.
void -> 반환할 값을 표시함. 정수형을 반환하면 int를 쓰면 된다.
main -> 메소드의 이름이다. (자바 프로그램의 시작은 main이라는 이름의 메소드를 실행하는 데서부터 시작한다.)
(String[] args) -> 전달받을 변수이다. 여기서 아직 String[] args 의 의미는 모르겠지만,
예로 (int a) 라고 받으면 받은 메소드 안에서 정수형 a 변수에 값을 입력받아 전달받는다.
아직 public, static, String[] args 의 의미는 잘 모르지만 뒷부분에서 더 배우기로 한다.
메소드 예시
코드
메소드 사용이다. 결과는
결과
+ 메소드에 둘 이상의 값을 전달할 수는 있어도, 메소드는 오직 하나의 값만을 반환할 수 있다.
+ 메소드 중간에 return 문을 만나면 나머지는 실행하지 않고 바로 메소드를 빠져나간다. (return; 만 쓸 경우)
+ 변수 scope -> 변수의 범위다. 변수는 { } 중괄호 안에서 선언됬다면 그 안에서만 사용가능하다.
메소드 문제
문제 6-1 1번
두 개의 정수를 전달받아서, 두 수의 사칙연산 결과를 출력하는 메소드와 이 메소드를 호출하는 main 메소드를 정의해보자. 단 나눗셈은 몫과 나머지를 각각 출력해야한다.
작성한 코드이다. 메소드의 반환을 이용하지 않고 그냥 void로 선언하여
그 메소드 안에서 계산 값들을 출력하였다.
재귀함수 -> recursive function
재귀 호출 메소드 -> recursive한 형태의 메소드를 의미한다.
메소드 안에서 자기 본인을 다시 호출하는 형태이다.
쉽게 이해하자면 , 팩토리얼을 예로 들수 있다.
5! = 5*4!
재귀 호출 문제
문제 6-3 1번
정수 N을 전달받아서, 2의 N승을 계산하여 반환하는 메소드를 재귀의 형태로 정의하고, 이의 테스트를 위한 main 메소드도 함께 정의하자.
재귀메소드를 이용하여 N승을 계산하였다.
2의 5승은 32입니다. 결과
메소드는 이전 C에서 해왔던
함수와 같은 기능을 하고 있었다.
(참조 - 난 정말 JAVA를 공부한 적이 없다구요, 윤성우)
'Programing > JAVA 일지' 카테고리의 다른 글
JAVA(5일차) - (2) 클래스 패스, 패키지 (0) | 2016.12.07 |
---|---|
JAVA(5일차) - (1) 클래스와 인스턴스 (0) | 2016.12.07 |
JAVA(3일차) - 실행흐름의 컨트롤(조건문,반복문) (0) | 2016.12.05 |
JAVA(2일차) - 변수, 자료형, 상수, 연산자 (0) | 2016.12.05 |
JAVA (1일차) - java compile, .class (1) | 2016.12.05 |