[자바] 4일차 - 재귀메서드, 메서드오버로딩, String, value VS reference, 제어문 :: 소림사의 홍반장!

재귀 메서드, Recursive Method

 - 메서드 선언안에서 자기 자신을 호출하는 메서드
 - 런타임 오류 : 로직이 올바르지 못하면 무한 루프에 빠질 수 있음.

 

관련예제 > Ex29_Method_Recursive

 

 


메서드 오버로딩, MethodOverloadin

 - 같은 이름의 메서드를 여러개 선언하는 기술
  - 같은 이름의 인자리스트를 달리하는 메서드를 선언하는 기술

  - 오버로딩 규칙
    1. 메서드명은 같게
    2. 인자리스트의 구성을 다르게
       a. 인자의 타입
       b. 인자의 갯수

 1. public static void test() {}     //O
 2. public static void test(int i) {}   //O
 3. public static void test(int j) {}   //X(2)
 4. public static void test(String s) {}   //O
 5. public static void test(int i, int j) {}  //O
 6. public static void test(int i, String s) {} //O
 7. public static int test(int i) {}    //X(2)

 

 

관련예제 > Ex30_MethodOverloading



 

문자열, String
 - 참조형
 - 변수, 데이터 방식
 - String 클래스
  : 문자열을 조작하기 위해 여러가지 기능을 제공
 - 문자열은 불변이다(immutable)
 - 참조형의 비교는 주소값 비교
 - 문자열 비교는 .equals()로


value 형 VS reference 형
 - value : stack에 메모리를 차지하고 값이 들어간다
   : 크기가 고정된다.

 - reference 타입의 데이터 공통점
  : stack에 메모리를 차지하고 heap영역에 잡힌 데이터의 주소값이 들어간다
   (가변 데이터는 heap에서 관리한다.)
  : 크기가 변할 수 있다.

 

 

관련예제 > Ex33_String



제어문
 - 기본적인 제어 흐름 : 위 -> 아래로 라인 단위 실행
 - 제어의 흐름을 조절
 - 실행의 순서!!!

 1. 조건문
  a. if
  b. switch- case

 2. 반복문
  a. for
  b. while
  c. do~while
  d. foreach

 3. 분기문 (if문에서는 작동을 하지 않는다.)
  a. break
  b. continue
  c. goto  // 사용x


if문
 - 조건문 : boolean을 반환하는 표현식
 
 if (조건문)
 {
  실행문;
 }
 
 
 if (조건문)
 {
  실행문;
 }
 else
 {
  실행문;
 }


 if (조건문)
 {
  실행문;
 }
 else if (조건문)
 {
  실행문;
 }
 else (조건문)
 {
  실행문;
 }

 

관련예제 > Ex37_if, Ex38_if



switch문
 - switch-case

 switch(조건)
 {
  case 값1: // Label
   실행문;
   break;
  case 값2: // Label
   실행문;
   break;
  case 값3: // Label
   실행문;
   break;
  default; // 생략가능 if문의 else문
   실행문;
   break;
 }

 

for문
 - 원하는 실행문(들)을 원하는 횟수만큼 반복 실행하는 제어문

 - ing i = 0// 루프 변수, Loop Variables

 for (초기식; 조건식; 증감식)
 {
  실행문;
 }

다른 카테고리의 글 목록

Dev. 640시간 뭉개기/강의내용정리 카테고리의 포스트를 톺아봅니다