본문 바로가기

bitcamp/JAVA

메소드와 변수의 Scope

1. 메소드란?

· 메소드란 클래스 내에서 선언되며 메소드 호출에 따라 동작하는 기능을 가지고 있다.

· 메소드는 입력값(매개변수)와 결과값(리턴값)이 존재한다.

 

2. 함수는 어떻게 알아 볼 수 있는가?

· 괄호() 앞에 존재하는 것이 함수이며, main(), println() 여기서 main, println을 메소드라 한다.

· 자바의 법칙: 자바에서는 JVM이 실행될 때 해당 class가 메모리에 올라가고 기본적으로 main 메소드부터 찾아 실행된다.

 

3. 함수는 언제, 어떻게 만드는가?

※ 언제 함수를 만드는가? 즉, 왜 함수를 만드는가? 

 · 중복되는 기능이 2개 이상이 있는 경우, 중복 될 가능성이 있을 때 함수를 생성하여 활용한다.

  (1~10층 별석탑을 찍으려고 하는데 함수를 작성하지 않으면 10번을 찍어야 하므로 함수를 생성하여 활용)

 

어떻게 작성하는가?

· 함수 생성은 메소드 정의 라고도 하며, 반드시 괄호()를 표기한다.

· () 안에 있는 것을 매개변수, 파라미터, 인자라하며, 매개변수가 몇 개가 와도 상관없다.

· 매개변수는 반드시 변수 선언을 한다. (즉, 메모리 할당을 한다)

· 중요! 함수 안에 또 다른 함수가 존재할 수 없고, class에 들어가는 것이므로 따로 중괄호로{ } 분리해야한다.

4. 함수는 어떻게 사용하는가?

· 메소드 호출이라고도 하며, 사용하는 것을 일컫는다.

· 생성한 함수에 매개변수(= 인자, parameter)를 입력해 실행하고 호출 할 때에는 올바른 값(value)을 넣어야 한다.

· void: 리턴 타입, 입력값(parameter)이 실행내용을 지나 결과 값이 출력되는데, 이 때 결과 값은 타입이 필요하다.

  void 자리에는 결과 값의 타입을 보여주며, void로 표기되어있는 경우 리턴 값이 없다는 것을 의미한다.

· 메소드는 return을 이용하여 종료한다.

 

5. 변수의 scope란?

· scope란 영역이라는 의미로, 변수에 대한 scope 영역은 중괄호{} 범위 내이다.

· 메소드 내에서 선언한 변수는 해당되는 메소드 내에서만 접근이 가능하고 그 범위를 변수의 Scope라한다.

6. 지역변수와 객체변수란?

※지역변수란?

· 메소드 내에서 선언하는 변수를 뜻하며, 해당되는 영역에서만 사용이 가능하다.

· 같은 영역 내(지역변수)에서 동일 이름의 변수 선언은 불가함: 헷갈리기 때문

 

※객체변수란? 

· 메소드 이 외에 존재하는 변수는 객체변수(=인스턴스 변수)라 정의하며, 클래스 내에서 언제든 사용이 가능하다.

7. 팩토리얼을 구하는 재귀 함수를 작성하시오.

· 메소드의 재귀 호출이란? 메소드에서 자기 자신의 메소드를 다시 호출하여 값을 반환한다.

· 5! = 5 * 4 * 3 * 2 * 1 → 5! = 5 * 4! → n! = n * (n-1)!

8. 아래의 함수를 작성하시오.

· 함수이름: starPrint

· 매개변수: type 1개

· 기능: 매개변수에 3를 전달하면 3층 석탑, 5를 전달하면 5층석탑

· ex) 3전달시 3층석탑 5전달시 5층석탑

9. 아래의 함수를 작성하시오.

· 함수이름: getGrade()

· 매개변수: double type 1개

· 리턴: 수 우 미 양 가 중 하나의 char 타입

10. 매개변수 하나를 받아, 원의 넓이를 리턴하는 함수를 작성하시오. 

11. 매개변수 두 개를 받아, 사각형의 넓이를 리턴하는 함수를 작성하시오.

'bitcamp > JAVA' 카테고리의 다른 글

클래스와 생성자_연습문제  (0) 2021.01.04
클래스와 생성자  (0) 2021.01.03
반복문_연습문제  (0) 2021.01.03
반복문  (0) 2021.01.03
연산자  (0) 2021.01.03