[커널아카데미] 백엔드 개발 부트캠프 12기 4주차 - 객체지향 연습문제 피드백

굴착드릴·2025년 4월 15일

남궁성 강사님 피드백

⚠️ [6-21] if-else로 작성할 것

// (4)
void channelUp() {
	if(channel +1 >= MAX_CHANNEL) {
		channel = MAX_CHANNEL;
	} else {
		channel++;
	}
}
// (5)

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;
}
profile
두두두두..

0개의 댓글