로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

파이썬 (Python) 으로 배우는 프로그래밍 기초 (CS101)

임시 이미지 KAIST 전산학부 김문주 교수
http://kooc.kaist.ac.kr/cs101/forum/88406
좋아요 2968 수강생 11727

먼저 6번입니다.


ami = Robot("yellow")

hubo = Robot("yellow")

ami.move()


여기서 변수 ami에 노란색 로봇이라는 객체가 들어가고

변수 hubo에 ami의 노란색 로봇과는 완전히 구별되는 다른 노란색 로봇이 들어가는 구조인가요?


================================================================

7번입니다.


ami = Robot("yellow")

hubo = Robot("gray")

tim = ami

ami = Robot("gray")

hubo = tim

hubo.move()


처음에는 ami는 노란색 로봇, hubo는 회색 로봇이라는 객체가 들어가고

tim = ami에서 노란색 로봇이라는 객체에 tim 이라는 다른 이름(변수명)이 저장되고,

ami = Robot("gray") 에서 ami는 hubo와 구분되는 다른 회색 로봇이 되고 tim은 그대로 노란색 로봇이고,

hubo = tim에서 hubo는 tim과 같은 노란색 로봇이 되므로(기존의 회색 로봇은 삭제 : 필요가 없으므로)

hubo.move()를 실행하면 노란색 로봇이 앞으로 한칸 전진하고 회색 로봇은 원점에 있는 것이 맞나요? (정리하자면 맨 마지막에는 ami는 회색 / hubo와 tim은 같은 노란색 로봇)


이렇게 이해하는게 맞는 과정인지 헷갈리네요 ㅠㅠ