분기

정순동·2024년 1월 20일

알고리즘

목록 보기
3/33

분기란? 선택적으로 코드를 실행시킬 수 있는 것을 의미한다. 보통 if와 switch/case를 이용해 분기를 나눌 수 있다.

메서드 두개가 아래와 같이 있다.

	void method1(int n) {
    	if (n == 1)
        	System.out.println("A");
        else if(n == 2)
            System.out.println("B");
        else
        	System.out.println("C");
    }
    
    void method2(int n) {
    	if (n == 1)
        	System.out.println("A");
        else if(n == 2)
            System.out.println("B");
        else if(n == 3)
            System.out.println("C");
    }

위 두 메서드는 분기가 3개로 같아보이지만 실제로는 method2가 분기가 4이다.
method1은 'n이 1일 때', 'n이 2일 때', 'n이 1,2가 아닐때' 이렇게 3개이지만
method2는 'n이 1일 때', 'n이 2일 때', 'n이 3일 때', 'n이 1,2,3이 아닐 때'
이렇게 나누어 집니다. 물론 method2의 'n이 1,2,3이 아닐 때'에 대한 실행코드는 없지만 아래와 같이 else가 하나 숨어있다고 보면 됩니다.

void method2(int n) {
    	if (n == 1)
        	System.out.println("A");
        else if(n == 2)
            System.out.println("B");
        else if(n == 3)
            System.out.println("C");
        else {}
    }

여기서 else는 아무일도 하지 않지만 존재하는 것과 같다.

0개의 댓글