夜はプリズムのファンタジ

Java/Java 실전 코딩!

4. 자바 프로그래밍 구조화 - 상수형 변수의 활용

Ju Hyun AN 2020. 3. 11. 01:46

1. 상수형 변수의 활용

 

오늘은 자바 프로그래밍 구조화를 익히는 과정중 하나인 '상수형 변수'의 활용을 통해서,

switch-case문 및 기존 코드의 변경 부분에서 어떻게 활용될 수 있는지를 알아보도록 하겠다.

 

1) 문제 01

성적 산출 프로그램 구현
 - 사용자 메뉴
    1. 첫 번째 메뉴 : [성적 입력] 세 사람의 국어, 영어, 수학 점수를 각각 입력 받아 저장
    2. 두 번째 메뉴 : [성적 출력] 세 사람의 과목 별 점수와 총합 및 평균을 산출하고 각 과목별 평균을 별도로 산출
    3. 세 번째 메뉴 : [프로그램 종료] 성적 산출 프로그램을 종료

우선 위 조건에 부합하는 코드를 switch-case문을 사용하여 아래와 같이 작성하였다.

다소 긴 코드가 작성되었다.

사실, 위 프로그램은 하나의 클래스에 모두 작성된 것이 아니라, 변수만 담고 있는 또 다른 클래스를 참조해와서 사용하는 부분도 포함되어 있다.

하지만, 이번에는 상수형 변수의 활용만 다룰 것이기 때문에 별도로 추가 설명은 하지 않도록 한다. 

 

※ 상수형 변수를 간단히 설명하자면,

일반 변수에 final 키워드를 붙여 값이 변하지 않도록 고정시킨 변수를 말한다.

 

그렇다면, 이러한 상수형 변수가 보통 어디에서 사용 가능할까?

 

생각해보자면, 크게 두 가지로 볼 수 있겠다.

첫 번째 변할 필요가 없거나 코드가 끝날때까지 한 번도 변하지 않는 변수에 대해서 적용이 가능할 것 같다.

두 번째변하면 안되는 변수에 대해서도 적용이 가능할 것 같다.

 


 

이제 다시 위 코드로 돌아가서 상수형 변수의 쓰임새 두 가지를 떠올리면서 읽어내려가다보면, 쉽게 적용시켜 볼 수 있는 부분이 보이게 되는데, 바로 switch-case문이다.

 

switch-case문의 경우, 각 case를 구별 할 때 1 ~ n까지의 정수형 숫자를 사용하도록 고정되어 있다.

즉, 변할리가 없는 정수형 숫자를 가지고서 case를 구별한다는 얘기이다.

 

다시 해석하자면,

변할 수 없는 '고정된 정수형 변수(상수형 변수)'가 있다면, case를 구별하는 '고정된 숫자' 대신 사용해도 문제가되지 않는 다는 점이다.

 

이를 바탕으로, 위 코드에서 동그라미 표기가 된 각 case 번호 해당 case의 성격에 맞는 변수명으로 바꿔보도록 하겠다.

차이점이 보이는가?

기존에는 case 1, case 2, case 3...으로 되어 있어, 별도로 구성한 UI를 참고하지 않으면, 각 case 값이 어떤 기능을 실행시키는지 알기 쉽지 않았지만,

상수형 변수를 사용하게 되면서, 위 변환된 코드에서 처럼 점수 입력 / 출력 / 종료 부분으로 변수명을 나누고 해당 기능을 수행하는 case 번호에 대입하여 각 케이가 어떤 기능을 담당하는지 알기 쉽게 바꿀 수 있게 된 것이다.

 

사실 구조화라는 것을 단순 예제하나로 정리하는 것이 쉽지는 않다.

더 깊이 들어가면, 캡슐화, 객체지향 그리고 상속까지 갈 수 있기 때문이다.

물론, 위 부분들에 대해서도 개별적으로 다뤄 볼 예정!

 

 


 

 

이 블로그는 개인이 혼자 공부해가며 내용을 정리하는 용도로 활용되고 있습니다.

잘못된 지식이나 이론을 게시하지 않도록 주의하고 있습니다.