접근 제어자-문제풀이1번 질문있습니다.
181
작성한 질문수 192
package ex3;
public class MaxCounter {
static int count;
private int maxcount;
public MaxCounter(int x) {
this.maxcount=x;
}
public void increment(){
if (count<maxcount){
count++;
}
else{
System.out.println("최대값을 초과할 수 없습니다.");
}
}
public int getCount(){
return count;
}
}위에처럼 풀어도 되나요? 작동되긴 합니다.
답변 1
0
안녕하세요. zzzzz님, 공식 서포터즈 OMG입니다.
강의코드
public class MaxCounter {
private int count = 0;
private int max;
public MaxCounter(int max) {
this.max = max;
}
public void increment() {
if (count >= max) {
System.out.println("최대값을 초과할 수 없습니다.");
return;
}
count++;
}
public int getCount() {
return count;
}
}와 비교하여 3가지의 차이점이 보이네요.
(1) static 변수로 변경
static 변수로 사용하신 이유만 명확히 알고 계신다면 (static을 적용했을 때 인스턴스 변수와의 차이를 구분 할 수있는가) 강의 문제풀이에 있어 문제는 없을 것 같습니다.
(2) 생성자 파라미터 이름(x) 과 max <-> maxcount
특별한 이유가 있지 않다면 일반적으로 필드(maxcount) 이름과 생성자 파라미터 이름(x)을 동일하게 하는 것 같습니다.(IDE의 기능을 통해서 단축키로 빠르게 생성해내거나 할 때도 동일하게 매칭시켜주기도 하죠)
또한 최댓값을 표현하기 위한 변수명으로 max, maxCount, maxNumber 등 다양하게 사용할 것 같습니다.
maxcount로 해도 문제는 없습니다.
(3) if/else 조건문
if / else문을 early return 패턴이라고 하여 else문을 되도록 사용하지 않도록 지향하는 패턴이 있는데요, 저도 이러한 패턴을 선호하고 강의에서도 해당 패턴을 적용하였습니다.
아래 글을 참고하여 본인의 소신 혹은 생각을 갖고 적용하시면 될 것 같아요.
https://thearchivelog.dev/article/are-early-returns-any-good/
감사합니다.
질문있습니다
0
23
1
1번 문제 질문입니다.
0
29
1
음악플레이어 문제 중 코드질문
0
24
1
9장 상속 문제와 풀이 질문
0
35
1
강의 자료에 사소한 오타가 있습니다.
0
46
2
매서드 참조값 반환??
0
63
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
66
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
83
1
공부방법
0
72
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
80
1
static method 질문
0
62
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
93
1
Method1에서 Student 객체
0
71
1
3강 18. null 질문
0
65
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
73
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
95
1
문의
0
102
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
86
1
상속과 그에 따른 메모리 구조 질문
0
59
1
call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다
0
72
1
수강기한
0
133
1
기본편 객체지향 프로그래밍에 대한 정의
0
84
1
섹션10 상속 메모리 구조 및 문제 관련 질문
0
85
1
추가 지식 학습
0
150
2





