아오.. 이해가 잘 안돼..ㅜ
스타버즈 커피 만드는 코드에서
Beverage beverage2 = new DarkRoast();
beverage2 = new Mocha(beverage2);
beverage2 = new Mocha(beverage2);
이 부분이 신기하네
내 생각엔 beverage2가 계속 덮어쓰여지고 있어서
기존 값이 없어진다고 생각되는데
어떻게 계속 먼저 것에 더해지지..........?
진짜 c만 하다 자바 하려니까 어렵다.. 객체지향 쥐쥐
나도 요즘 헤드퍼스트 디자인패턴 다시보는데... 파라메터로 객체를 던지잖아.. 그니까 객체 정보가 계속 추가 된다고 보면 되지...
자바만 3년째지만 저거 뭔지 나도 모르겠다....-.- 뭐지..??
그건 아는데.. 그럼 먼저 만들어진 객체 덩어리가 새 거에 계속 새로 포함되는 건가.. 머리 속에 안그려지네 아오
강의 해주고 싶은데, (뻔한 핑계지만)시간이 없다.
a란 객체에서 a1이란 메소드를 실행시킴 -> 이 a1 메소드는 b란 객체a1 메소드를 실행시킴 -> ... 이런식으로 쭈르르륵 스택에 쌓고 리턴 리턴 리턴.. 최종으로 리턴 받은 값을 뿌려줌...
맞나.. 헤깔리네 나도 ㅋㅋㅋ
Mocha 안에 beverage(이전 음료)를 가리키는 레퍼런스 변수가 있어서 저렇게 덮어쓰는건 상관없는가 보네.. 계속 보다보니까 그래도 좀 알 것 같기도 하고..
단순하게 저것만으로는 더해지는지 아닌지 모르겠고 생성자를 봐야 알겠넹.