본문 바로가기
스파르타 내배캠

[TIL] #11. Exception, Naming Convention

by saemsaem 2024. 5. 3.


 

 [ 개인과제 보완 ] 

정수 입력 exception 처리

public class InputCheck {

    // 사칙연산 입력
    public static int getNum() throws CalculateException {
            try {
                Scanner sc = new Scanner(System.in);
                System.out.print("숫자를 입력하세요: ");
                int n = sc.nextInt();
                return n; // 입력받은 정수를 return
            } catch (InputMismatchException e) {
                throw new CalculateException("올바른 정수를 입력하세요");
            }
    }

    // 반지름 입력
    public static int getNumC() throws CalculateException {
        try {
            Scanner sc = new Scanner(System.in);
            System.out.print("반지름을 입력하세요: ");
            int r = sc.nextInt();
            return r;
        } catch (InputMismatchException e) {
            throw new CalculateException("올바른 정수를 입력하세요");
        }
    }
}

정수가 아닌 입력값을 받았을 때의 예외처리를 위한 클래스를 생성했다. 
원래는 main 클래스 안에 메서드로 있었는데, 더 객체지향적인 코드를 작성하기 위해 클래스를 따로 생성했다. 

확실히 역할이 확실히 나눠지고, 클래스 하나는 하나의 역할만 수행해야 한다는 객체지향 원칙에 더 잘 들어맞는 것 같다. 

 


 

 [ 보충반 수업 

Naming Convention

1. 패키지
    - 소문자만 사용
    - camel case (X), under_bar (X)

2. 클래스
    - 명사
    - 대문자로 시작

3. 인터페이스
    - 명사, 형용사

4. 메서드
    - 동사, 전치사
    - 객체가 하는 일을 보여줄 수 있는 단어

5. 상수
    - 대문자와 언더바로만 구성

6. 기타 변수 이름
    - 임시변수 외에는 1글자 사용하지 않기 (왠만하면 변수에 뜻 담은 이름으로 만들기)
    - 숫자로 시작할 수 없음
    -  예약어를 변수 이름으로 사용할 수 없음

'스파르타 내배캠' 카테고리의 다른 글

[TIL] #13. Class  (0) 2024.05.08
[TIL] #12. 다형성  (0) 2024.05.07
[TIL] #10. URL, HTTPS  (0) 2024.05.03
[TIL] #9. do-while, constructor, abstract  (0) 2024.05.01
[TIL] #8. SRP, OCP, (Git)PR  (0) 2024.04.30