Categories: Java 언어Korean

Java 총 정리[15. 제어문 중첩]

중첩 및 주의 사항

이제 모든 제어문을 배웠습니다. 하지만 이 정도만 알면 과연 원하는 기능이 구현이 될 까요? 이전 걸음에서 배운 조건문과 반복문 예제를 보면 가능 할 까요? 여러분이 생각을 하시기에도 이 정도라면 프로그램을 만드는 것이 너무 쉽다고 느껴지시지 않나요? 저 역시 이전에 공부를 할 때 책을 보거나 간단한 공부를 할 때 이 정도의 레벨로만 생각을 했습니다. 하지만 더 알아야 하는 부분이 있다는 걸 알았습니다.

제어문을 전체적으로 공부하면서 조건문의 내용은 조건문 대로 또는 반복문 내용은 반복문 대로 이렇게 나누어서 공부를 하였고 또한 같은 조건문 반복문이라도 1개로만 간단한 예제를 만들었습니다. 과연 이렇게 따로 따로 만들어도 우리가 원하는 프로그램이 만들어 질까요? 당연히 아니겠죠. 이 글을 끝까지 읽으신다면 어떻게 제어문을 사용을 해야 하는지 알게 되십니다.

제어문을 잘 사용을 하려면 중첩에 대한 이해를 해야 합니다. 중첩은 조건문과 조건문을 원하는 결과를 도출하기 위해서 중첩을 하거나 또는 반복문과 반복문을 마지막으로는 조건문과 반복문 또는 반복문과 조건문에 형태로 제어문을 원하는 결과를 만들기 위해서 중첩을 해서 사용을 하는 것을 말합니다. 그리고 제어문을 사용 할 때 주의를 할 상황을 알면 도움이 됩니다. 

이 글을 끝까지 읽으신다면 중첩에 대한 이해와 주의 할 부분을 이해를 하실 수 있습니다.

중첩

제어문을 사용을 하실 때 꼭 꼭 알아 두어야 하는 것은 바로 중첩에는 제한이 없다는 것입니다.

예를 들어 조건문 안에 조건문 그 조건문 안에 또 조건문 이렇게 계속 중첩을 사용을 해도 문제가 없고 또한 반복문 안에 반복문 또 반복문 안에 반복문 이렇게 계속 중첩을 하셔도 소스에는 문제가 없습니다.

마지막으로 위와 같은 제약이 없기 때문에 당연히 반복문 안에 조건문 그리고 반복문이 있고 그 안에 또 반복문이 있는 이런 형태도 당연히 문제가 없습니다. 조건문과 반복문의 중첩을 해서 원하는 방향으로 조합해서 만드는 것이 문제가 없습니다.

주의 사항

단일 if문과 if-else-if에 관한 내용을 헷갈려 하시는 분들이 많아서 주의 사항으로 정리를 해보겠습니다.

예) 단일 if문

if(조건){명령문}

if(조건){명령문}

if(조건){명령문}

예) if-else if-else 문

if(조건){명령문}

else if(조건){명령문}

else{명령문}

위와 같이 단일 if문으로 3개의 명령문이 있고 if-else if -else문도 3개의 명령문이 있습니다. 하지만 위에 소스의 결과는 정말 다르게 동작을 하게 됩니다. 

단일 if문 같은 경우 if하나 하나가 다 확인을 하고 실행을 하게 되기 때문에 전체가 다 실행이 되거나 또는 아예 실행이 안 될 수 있습니다. 하지만 if-else if-else문 같은 경우에는 3개의 조건 중에 무조건 하나만 실행이 됩니다. 이런 차이가 있기 때문에 원하는 프로그램을 만드는 경우 어떻게 만들어야 할지 고민을 하셔야 합니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.