홈 › 초급 › 02 / 8

연산자와 제어문

섹션 7진행 0 / 8

연산자와 제어문

연산자로 값을 계산·비교하고, if/switch로 흐름을 나누고, for/while로 반복하는 방법을 익힙니다. 이 레슨을 끝내면 단축 평가가 왜 NPE를 막아 주는지, JDK 21 switch 표현식이 옛 switch와 무엇이 다른지 설명할 수 있습니다.

1. 왜 배우는가

변수를 배웠으니 이제 그 변수로 무언가를 해야 합니다. 주문 금액에 할인율을 곱하고(연산), 회원 등급에 따라 다른 혜택을 주고(분기), 장바구니의 모든 상품을 하나씩 처리합니다(반복). 프로그램의 로직은 이 세 가지의 조합입니다. 어떤 복잡한 시스템도 결국 "계산하고, 조건 보고, 반복한다"로 분해됩니다.

실무 코드에서 버그의 상당수는 제어문에서 나옵니다. <를 <=로 잘못 써서 마지막 항목을 빠뜨리고, &&와 &를 헷갈려 null 체크가 무의미해지고, switch에서 break를 빼먹어 다음 case까지 실행되고, 종료 조건을 잘못 써서 서버가 무한루프에 빠집니다. 이 실수들은 문법을 "대충 아는" 상태에서 나옵니다. 각 연산자와 문법이 정확히 어떤 순서로 무엇을 하는지 알면 대부분 예방됩니다.

또한 JDK 21은 switch를 크게 개선했습니다. 화살표 문법, 표현식으로서의 switch, 패턴 매칭. 실무 코드는 아직 옛 문법이 많지만 새 코드는 새 문법으로 쓰는 추세이므로 둘 다 읽고 쓸 수 있어야 합니다.