접근 제어자-문제풀이1번 질문있습니다.
190
작성한 질문수 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
38
0
문제2번
0
44
1
static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?
0
55
1
47번 리턴 관련 질문
0
48
1
문제2번
0
129
2
질문있습니다
0
73
1
1번 문제 질문입니다.
0
63
1
음악플레이어 문제 중 코드질문
0
58
1
9장 상속 문제와 풀이 질문
0
71
1
강의 자료에 사소한 오타가 있습니다.
0
86
2
매서드 참조값 반환??
0
101
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
103
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
109
1
공부방법
0
118
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
112
1
static method 질문
0
89
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
122
1
Method1에서 Student 객체
0
98
1
3강 18. null 질문
0
89
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
99
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
126
1
문의
0
123
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
115
1
상속과 그에 따른 메모리 구조 질문
0
86
1





