남궁성 강사님 피드백
⚠️ [6-21] if-else로 작성할 것
void channelUp() {
if(channel +1 >= MAX_CHANNEL) {
channel = MAX_CHANNEL;
} else {
channel++;
}
}
void channelDown() {
if(channel -1 =< MIN_CHANNEL) {
channel = MIN_CHANNEL;
} else {
channel++;
}
}
⚠️ [7-3] 오버라이딩의 정의와 필요성에 대하여 설명하시오
- 나 : 부모클래스의 메서드를 자식 클래서에서 재정의 하는 것, 다형성을 위해
- 피드백 : 부모메서드를 나에게 맞게 변경
⚠️ [7-10] getter, setter 정의
- 피드백 : if-else를 통해 input값 검증 필요
public void setChannel(int channel) {
if(channel >= MAX_CHANNEL) {
this.channel = MAX_CHANNEL;
} else if(channel <= MIN_CHANNEL) {
this.channel = MIN_CHANNEL;
} else {
this.channel = channel;
}
}
public void setVolume (int volume) {
if(volume >= MAX_VOLUME) {
this.volume = MAX_VOLUME;
} else if(volume <= MIN_VOLUME) {
this.volume = MIN_VOLUME;
} else {
this.volume = volume;
}
}
⚠️ [7-11] setter 정의. 안티패턴 관련
- 피드백: 같은 클래스에 있는 iv는 getter말고 그냥 접근해라
⚠️ [7-13] Math클래스의 생성자는 접근 제어자가 private이다. 그 이유는?
- 나 : 객체 생성이 필요없기 때문에 막아두기 위해
- 피드백 : “iv가 없기 때문이다”가 추가되면 좋겠음
⚠️ [7-15] 클래스가 다음과 같이 정의 되어 있을 때 형변환을 올바르게 하지 않은 것은
⚠️ [7-21] 다음과 같이 attack 메서드가 정의되어 있을 때, 이 메서드의 매개변수로 가능한 것 두가지
- 나: movable을 구현한 클래스, movable을 상속 받은 클래스
- 피드백 : movable을 구현한 클래스의 객체, null. 상속 받은 클래스도 맞긴 함
⚠️ [7-22] isSquare() 누락됨
public boolean isSquare() {
return this.height == this.width;
}