본문 바로가기

ETC Programmings

(80)
[C#] 클래스 상속에 관해서.. 객체지향 프로그래밍에서 가장 빠지지 말아야 할 것들중에 하나가 이 상속이라는 개념이다. 상속을 처음 배울때 이런 질문을 받았다. 세상에서 가장 빨리 부자가 되는 법이 무엇이냐? 그 당시에는 몰랐지만 답은 상속이었다. 부모가 가진 그대로를 물려 받으면 가장 쉽게 부자가 되고.. 반면에 가장 쉽게 채무자가 되기도 하지만.. 어쨌거나.. 객체지향에서의 상속은 아주 강력한 기능을 수행하기도 하고 문제를 발생시키기도 한다. 더욱이 재미있는 것은 재사용성을 극대화가기 위해서 재사용성이 떨어지는 행동을 만들기도 하고 또 그렇기 때문에 보완을 위한 다른 것들이 있기도 하고.. 여튼 상속은 아주 강력한 기능을 가지고 있는데 상속을 통해서 기대할 수 있는 결과는 다음과 같다. - 코드의 손쉬운 재사용 - 다형성 활용 - ..
[C#] 함수형 멤버 - Method Overloading, Property, Operator Overloading C# 은 본디 본질이 OOP (Object Oriented Programming) 언어이기 때문에 기본적인 특징들이 자바의 그것과 아주 유사하다. 처음 책을 펴면서 배우는 내용들은 우리가 C에서 배우는 그것이나 자바나 자바스크립트가 별반 차이없게 배우는 기본적인 문법이라던가 표현식들에 대해서 배우게 된다. 특히 함수형 멤버 라는 이름을 가진 항목은 OOP 언어를 배운다면 필히 나오는 부분이다. 상속이나 인터페이스와 같은 부분도 마찬가지이다. 클래스의 구성요소 라는 이름으로 대학때 3가지 요소에 대해서 배운적이 있다. Attribute, Constructor 그리고 바로 Method 이다. 엄밀히 말하면 Constructor 라는 것도 메소드의 범주에 속할 수도 있겠으나 하는 역할이 엄연히 틀리니 구분을 ..
[Bindable] 의 비밀 책을 보고 예제를 작성해 나가면서 도대체 '[Bindable]' 이라는 건 무엇일까 고민이 고민이 들다가 결국은 폭발해서 블로그에 새 글을 쓰기 시작했다. 검색엔진을 통해서 만난 Bindable 이라는 키워드는 물론 ActionScript를 사용하는 유저들의 검색결과를 보여줬지만 나처럼 초보에게는 좀 어려운 내용들이 있어서 완전 쌩 초보인 나에게.. 내가 이해한 대로 작성을 해본다. 부디 나와 같은 초보분들에게도 도움이 되길... Bindable의 비밀은 Bind 라는 사전적 의미에도 있다. '결속시키다, 묶다' 이런 의미로 해석하면 좋겠다. 아래의 소스를 살펴보면 더 이해가 갈 것이다. import mx.utils.ObjectUtil; import mx.collections.ArrayCollection..
Event : 전체적인 프로그램의 흐름의 이해가 뒷받침 되어야 한다. 글의 부제로 '전체적인 프로그램의 흐름의 이해가 뒷받침 되어야 한다.' 라고 한 이유는 그야말로 말 그대로이다. 매쉬업 프로젝트를 진행하면서 부랴부랴 배운 이벤트와 관련된 내용들은 전체적인 Flex의 흐름을 읽지 못하고 마구잡으로 쓰게 되었고 그 결과는 여러가지 이벤트들을 효과적으로 다루지 못하고 매우 산발적으로 조건문을 통한 처리를 해주었고, 이때문에 생기는 런타임 에러들에 허덕이게 되었다. 아직 이벤트와 관련하여 배워야 할것들이 더 많지만 지금처럼 좀더 천천히 체계적으로 배웠으면 하는 생각이 든다. import mx.controls.Alert; private function doClick(evt:Event):void{ Alert.show(evt.type,"Event Type"); } 먼저 위의 소스에..
FLEX 학습시 아주 유용한 사이트 ^^ 세계적인 FLEX & AIR 개발자, 컨설턴트 들이 모이는 포털사이트 : Flex.org Flex Component 별 샘플 코드와 Custom Component Library 들이 모여있는 곳 : FlexBox 각종 Flex 차트들의 샘플 코드를 볼수있는 블로그 : QuietlyScheming.com 시각적인 움직임 easingFunction 에 대한 샘플 소스 : Link Cover Flow Custom Component : Link Flex Theme 소스들이 가득한곳! : Link
Actionscript 사용하기 : OOP 개념의 스크립트 위의 소스를 보면 달라진 부분이 있다. 기존에는 이라는 태그 내부에 XML 형태의 태그들로 데이터를 기록해 놓은 모양새가 있었다. 하지만 새롭게 바뀐 소스에는 외부의 xml 파일로 부터 정보를 가져오는 방식으로 변경이 되었다. 이와 관련해서 하나의 MXML 파일 내부에 Model 과 Controller 와 View 가 모두 존재하는 다소 관리하기가 어려운 상황을 제거하고 따로 나누었다. 또한 교재에 나오는대로 상품을 등록하고 장바구니에 담기위한 Data Transfer Object 의 개념으로 ActionScript를 통해서 클래스를 작성하였다. - EComm.mxml 에 변경된 소스 import valueObjects.ShoppingCartItem; import valueObjects.ShoppingC..
Controls : 다양한 컨트롤 들을 사용하기 + @Embed() 사용시 주의사항 Lesson 4 에서는 컨트롤 사용에 대해서 더 배워보는 곳이다. 이곳에서는 Boundary 용도로 사용했던 Layout 보다는 Control 들이 많이 등장한다. Spacer, DateField, RadioButton과같은 컨트롤들이 그 예다. 컨트롤 들은 저마다 기능들을 가지고 있는데 그중 가장 신기했던건 바로 DateField 컨트롤이다. Javascript jQuery 라이브러리에서 봤던 그 DateField와 아주 흡사했다. 어느 한쪽이 먼저 만들었는지는 모르겠지만 아주 유용한 것임에는 틀림없다. 이 소스에는 없지만 아래와 같이 이미지를 표현하는 컨트롤이 있다. 여기에서는 새로운 attribute 값이 반견되었다. scaleContent 라던가 source 라던가 mouseOver, mouseO..
Control & Layout : Constrains 와 view State 활용 MEDINFO 를 만들면서 느낀점이 스텝별로 어떻게 화면을 전환하는지와 외형적인 틀을 유동적인 화면 크기에 어떻게 맞출건지에 대한 고민이 많았다. 결국 내가 선택한 방법은 화면전환에서는 TabNavigator 의 tab부분의 높이(Height속성) 값을 0으로 줘 탭이 없는것 처럼 보이도록 하고 탭을 이동시키는 것으로 대체하였다. 하지만 프로그램의 틀을 유지하는데는 딱히 방법이 없어서 실패하였다. 하지만 앞서서 이 Constrains와 view State 에대해서 알았더라면 좀 더 쉽게 대처할수 있었다고 생각이 든다. Constrains는 해당 컨트롤을 항상 어느 위치에 있어야한다고 규정을 한다. 이를테면 좌측 상단으로 부터 x = 10, y = 10 만큼 떨어져 있어야 한다는 제약사항을 주면 브라우저나..