노무현 대통령 배너

Tag: 인터페이스

액션스크립트 초보를 위한 코딩 기본 규칙, 네이밍, 이것만은 지키자.

by on 5.21, 2010, under 고수들은 가르쳐주지 않는 AS3.0 입문

요즘도 만드는지는 모르겠지만, 이소룡과 성룡이 전성기였던 시절 쿵푸를 소재로 한 영화들을 보면 대략 이런 스토리가 진행됩니다. 집안이 원수들에게 유린당하고 주인공만 홀로 남게 되었는데, (우연한) 기회에 절정고수의 무술 사부님을 만나, 혹독한 수련을 받은 후, 하산하여 원수를 갚는다. 라는 이야기죠. 쿵푸영화들의 절반 이상은 항상 이런식이었는데도 질리지도 않고 계속 비슷한 스토리의 영화가 나왔던것 같습니다.

영화의 전개 부분에는 사부님으로부터 배우는 혹독한 수련과정이 나오는데, 이 수련과정 또한 매우 스테레오타입인지라 마당쓸기, 물 길어오기, 빨래하기, 밥하기와 같은 허드렛 일을 열심히 했는데, 애초부터 책 같은 형태의 궁극의 비기(秘記) 따위는 없었고… 일견 쓸모 없어보였던 잡일이 알고보니 나중에 다 피가되고 살이되는 거였더라~ 라는 이야기 구성과 설정 또한 항상 같습니다.

오늘 다뤄볼 이야기는 이런 허드렛일과 비슷하고 기본 소양이 되는 그런 이야기 입니다. 코딩을 하다보면 이게 변수인지 파라미터인지 함수명인지 그것도 아니면 클래스명인지 알 수 없는 경험을 하고계신 분들이 있을겁니다.
변수도, 이게 전역변수인지 지역변수인지, 전역변수라면 public 인지 protected 인지 private 인지 구분하고 싶은데 맨 위까지 스크롤 했다가 다시 내려오는걸 반복했다가는 코딩하다가 금방 지쳐 쓰러지겠죠.

(계속 읽기…)

8개의 댓글 :, , , , , , , , , , , , , , , , , more...

Observer Pattern 옵저버 패턴을 액션스크립트로 컨버팅 – Head First Design Pattern

by on 5.19, 2009, under Design Pattern

the_observerHead First Design Pattern 의 제 2 장 내용인 옵저버 패턴(Observer Pattern) 으로 들어가 보겠습니다. 역시 이번에도 자바 코드를 액션스크립트로 컨버팅 하였습니다.

다음은 책 본문에 있는 옵저버 패턴에 대한 설명입니다.

“옵저버 패턴 – 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의합니다.

사실 위의 정의만 보고는 뭐가 뭔지 알쏭달쏭한데요, 차근차근 풀어나가보겠습니다.
(계속 읽기…)

6개의 댓글 :, , , , , , , , , , , , , , more...

Strategy Pattern 스트래티지 패턴으로 액션어드밴쳐 게임 만들기

by on 5.17, 2009, under Design Pattern

zelda_and_link헤드퍼스트 디자인 패턴 책에는 오리를 이용하여 스트래티지 패턴을 설명하였습니다. 스트래티지 패턴은 OOP의 중요한 원칙 중 하나인 “상속보다는 합성” 원칙을 직접 표현하고 있기 때문에 반복학습을 통한 확실한 이해를 하기 위해 오리가 아닌 액션어드벤쳐 게임을 주제로 삼아 이 패턴을 다시한번 설명하도록 하겠습니다.

전체 클래스와 인터페이스를 한눈에 보기 위해 starUML을 이용해 클래스 다이어그램을 작성해 보았습니다.

Strategy Pattern - Action Adventure Game

Strategy Pattern - Action Adventure Game

먼저 Character 클래스는 Knight 와 Wizard 클래스의 추상층입니다. 각 직업들이 가지는 공통적인 특성을 정의하여 서브클래스에서 확장(상속) 사용하도록 합니다.

모든 캐릭터들은 무기를 사용할 수 있고 갑옷을 입을 수 있기 때문에 이 두가지의 기능을 커다란 알고리즘으로 분류하여 각각 인터페이스를 만듭니다.
무기를 사용하는 것은 useWeapon() 메서드를 호출하여 무기를 사용하는 모습을 그래픽으로 처리하게 하고, 갑옷을 착용하면 갑옷 종류에 따라 다른 보너스 hp 를 얻도록 할 계획입니다.

(계속 읽기…)

7개의 댓글 :, , , , , , , , , , , , , , , more...

  • Page 1 of 2
  • 1
  • 2
  • >

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Meta