작성
·
87
0
코드 순서에 궁금한 점이 있어 질문드립니다 !
class HamBurger {
String name;
public HamBurger(String name) {
this.name = name;
}
public HamBurger() {
this("햄버거");
}
}
이렇게 작성되는 코드와
class HamBurger {
String name;
public HamBurger() {
this("햄버거");
}
public HamBurger(String name) {
this.name = name;
}
}
이렇게 작성되는 코드가 구동에 있어 차이가 발생하는지 궁금합니다 !
코드는 위에서부터 순서대로 진행된다고 알고 있어서 첫 번째 방법의 코드가 더 맞는 방법이 아닌지 생각이 되는데, 선생님께서는 두 번째 방법으로 작성하셔서 차이점 설명 부탁드리겠습니다 ..!
추가적으로,
// 햄버거 메소드
String[] ingredient = {"양상추", "패티", "피클"};
public void cook() {
System.out.println(this.name + "를 만듭니다.");
System.out.println("빵 사이에 들어가는 재료는?");
for (int i = 0; i < ingredient.length; i++) {
if (i == 0) {
System.out.println("> " + ingredient[i]);
} else {
System.out.println("+ " + ingredient[i]);
}
// 치즈버거 메소드
public void cook() {
super.cook();
System.out.println("+ 치즈");
}
// 새우버거 메소드
public void cook() {
super.cook();
System.out.println("+ 새우");
}
퀴즈를 이렇게 풀어서 정답과 동일하게 출력은 되었는데, 혹여나 풀이 방법에 틀린 점이 있거나 개선할 점이 있는지 피드백 부탁드립니다 :)
답변 1
0
안녕하세요?
자바에서 클래스 내 메소드의 정의 순서는 코드의 동작에 영향을 주지 않아요. 그래서 강의에서 정의한 순서나, 김재훈님께서 정의하신 순서나 동작은 동일합니다. 그 메소드가 어디엔가 잘 정의만 되어 있으면 문제가 없답니다 😊
풀이해주신 코드도 배열과 반복문을 활용하여 강의에서 알려드린 코드보다 더 잘 작성해주셨습니다 👍
감사합니다.
정의 순서에는 크게 상관이 없었군요 ! 감사합니다 :)