p.196
안녕하세요.
p.196 나혼자 코딩 풀어보니 실행은 되는데 정답 코드랑 조금 다르네요 이렇게 풀어도 괜찮나요? 클래스별로 변수도 잘 나눠서 배치하고 싶은데 그게 잘 안된 것 같고 돌아갈뿐이지 문제가 많은 것 같아서 피드백 한번 부탁드려요!
public class Car {
int carNum = CarFactory.getCarSerial();
public int getCarNum() {
return carNum;
}
}
=====================================================
public class CarFactory {
private static CarFactory carFactory;
private static int carSerial = 1000;
public static CarFactory getInstance() {
if(carFactory == null) {
carFactory = new CarFactory();
}
return carFactory;
}
public static int getCarSerial () {
return carSerial;
}
public Car createCar() {
carSerial++;
return new Car();
}
}
Answer 1
1
객체는 객체 자체의 역할에 충실하게 코딩하는것이 좋습니다. 위 코드에서 carSerial 변수를 어디에 두는 것인가? 라는 관점에서 보면 factory는 차를 생산하는 객체이고, carSerial은 차가 생성될때 증가하는 정적 변수이기 때문에 이 변수는 Car 클래스에 종속적이라고 보는 것이 맞을것 같습니다. Car클래스에 carSerial을 두면 그렇게 되었을때 carNum을 가져오기 위해 Car 클래스에서 CarFactory를 참조할 일은 없으니까요 클래스간의 종속성이 낮아지는 방향으로 클래스의 관계를 가져가는것이 좀더 합리적이라 생각됩니다.
질문드려요
0
437
4
구현과 오버라이딩
0
238
1
문제답안
1
240
2
교재 속 나 혼자 코딩 문제 답안관련 질문
1
320
1
회차 강의pdf파일 보는 방법이 없나요?
0
567
1
singleton pattern
0
380
2
return 사용되는 위치가 궁금합니다
0
469
2
오버라이드 할때 @override 안적어도 되나요?
0
545
1
pakage 내에서 main함수는 하나만 존재해야하나요?
0
727
1
왜 이렇게 하는지 설명은 없나요?
0
411
1
p.88 연습문제1 질문입니다.
0
281
1
강의노트 어디서 볼수 있을까요?
0
449
4
강의노트 어디서 볼 수 있을까요?
0
677
2
예제코드 다운로드 오류
0
538
1
복습문제는 어디서 확인할수있을까요?
0
410
1
static 메서드 main문 안에 선언 시 오류 발생 이유가 궁금합니다.
0
386
1
강의노트는 어디서 확인할 수 있을까요
0
485
1
실행을 하면 결과가 깨져서 나와요
0
374
3
복습 문제 들은 어디서 받아 볼 수 있나요
0
389
2
비트 연산자 질문
0
295
1
upgradeLevel에 인수를 넣기 위해 새로 AdvancedLevel 과 같은 instance를 생성하는게 어색하게 느껴집니다.
0
334
1
p.243
0
233
2
p.237
0
250
2
질문드려요
0
242
1

