티스토리 뷰
내가 실수한 코드부터 보자. ( 압축시켰다. )
public Object[] getEachWaveMonsters(Integer stage, Integer wave) {
switch (wave) {
case 1 :
return Object[] stage1Wave1Monster = new Object[8];
case 2 :
return Object[] stage1Wave2Monster = new Object[8];
}
// 생략
}
지금 이 코드는 문법적으로 틀렸다.
return을함과 동시에, 객체를 생성하라는거야, 반환하라는거야!!
라고 자바는 받아들이기 때문이다. ( 물론 모든 경우에 대해서 return을 안해주고 있다는 문제점도 있지만, 그 부분은 다루지 않겠다. )
따라서, 문법에 맞게 고치자면,
return을 할때, new 키워드를 달아주거나, 객체를 먼저 생성하고, 리턴해주는 방법을 고려해볼 수 있다.
각각 코친 코드를 적어보자면,
// 생략
case 1 :
return new Object[8];
// 생략
또는
// 생략
case 1 :
Object[] stage1Wave1Monster = new Object[8];
return stage1Wave1Monster;
// 생략
그렇다...............
'Java' 카테고리의 다른 글
| 자바 - super()은 생성자의 첫 줄에 호출되어야한다! (0) | 2025.11.14 |
|---|---|
| 자바 - 예외를 반환 할 때, Checked Exception, Unchecked Exception각각 처리 규칙 (0) | 2025.11.13 |
| 자바 - 제네릭 와일드 카드 기본 (0) | 2025.11.04 |
| 자바 - 오버라이딩 개념 및 예제 (0) | 2025.11.02 |
| 자바 - 커스텀 예외 만들기 (0) | 2025.11.01 |