'기타 > 기술문서' 카테고리의 다른 글

비동기 통신 학습  (0) 2011.12.14
visual assist 설정 및 단축키 설명서  (0) 2009.12.20
WCF 정리  (0) 2009.12.17
C# 패턴  (0) 2009.12.17
AVR_GCC 닷넷에서 사용하는 방법.  (0) 2009.12.17

Windows Communication Foundation를 정리한 자료


'기타 > 기술문서' 카테고리의 다른 글

visual assist 설정 및 단축키 설명서  (0) 2009.12.20
DB 연결샘플  (0) 2009.12.20
C# 패턴  (0) 2009.12.17
AVR_GCC 닷넷에서 사용하는 방법.  (0) 2009.12.17
사용자 메시지 구현하기.  (0) 2009.12.17
말그대로 패턴 문서 및 소스 이다.

'기타 > 기술문서' 카테고리의 다른 글

DB 연결샘플  (0) 2009.12.20
WCF 정리  (0) 2009.12.17
AVR_GCC 닷넷에서 사용하는 방법.  (0) 2009.12.17
사용자 메시지 구현하기.  (0) 2009.12.17
멀티플렉싱  (0) 2009.12.17
제목 그대로 입니다. 문서 보시고 잘따라해 보장
퍼갈땐 역시 댓글은 필수!
p.s 덤으로 AVR_GCC 설치방법 문서도 첨가 합니다 ^^

'기타 > 기술문서' 카테고리의 다른 글

DB 연결샘플  (0) 2009.12.20
WCF 정리  (0) 2009.12.17
C# 패턴  (0) 2009.12.17
사용자 메시지 구현하기.  (0) 2009.12.17
멀티플렉싱  (0) 2009.12.17

'기타 > 기술문서' 카테고리의 다른 글

DB 연결샘플  (0) 2009.12.20
WCF 정리  (0) 2009.12.17
C# 패턴  (0) 2009.12.17
AVR_GCC 닷넷에서 사용하는 방법.  (0) 2009.12.17
멀티플렉싱  (0) 2009.12.17

멀티프로세싱에 대해서 공부하다가 정리해 놓은것.

'기타 > 기술문서' 카테고리의 다른 글

DB 연결샘플  (0) 2009.12.20
WCF 정리  (0) 2009.12.17
C# 패턴  (0) 2009.12.17
AVR_GCC 닷넷에서 사용하는 방법.  (0) 2009.12.17
사용자 메시지 구현하기.  (0) 2009.12.17
저녁식사도 했으니 이제 추상화에 대해서 알아봐야 겠군요. 추상적이라는 것은 미술에서와 같이 그 핵심요지만 살리고 나머지는 생략하거나 변형하는 방법으로 그린 그림을 뜻하는 것이라는 점 입니다.

지식인에서는 이런식으로 추상화를 표현하였네요.
추상화란?
클래스를 구현함에 있어 모든 속성과 기능을 구현할 필요는 없다. 회사원 관리를 위한 사람 클래스에서는 성별이라는 속성이 반드시 필요하지만 남자목욕탕 회원 관리를 위한 사람 클래스에서는 굳이 성별이라는 속성을 표시할 필요가 없습니다. 어자피 모든 구성원이 남자 일테니까요.
이처럼 굳이 구현할 필요없는 부분을 과감히 생각하여 필요한 부분을 나타내는 것을 추상화라 한다.

라고 인터넷 지식인에서는 나왔군요

또다른 정의를 보면
객체를 모델링할 때 필요로 하는 만큼의 속성과 오퍼레이션을 추출해내는것
모델에 무엇을 포함하고, 무엇을 뺄 것인지 아는 것은 가장 중요한 기술이다.

이런식으로 정의를 내렸네요.
네 둘다 같은 뜻이네요 어찌 보면 위에서 서술식으로 표현한 방법이 더 쉽고 이해하기가 편했고 아래는 핵심적인 용어로 내려서 조금 어렵게 느껴지는군요

추상화를 어떻게 이해를 해야 할지...
이건 표현으로 예를 들기 모하지만 우리가 프로젝트를 시작하여 유스케이스를 통해서 프로그램 전체 흐름을 이해하고 해야 할것과 하지 말아야 할 오퍼레이션과 속성을 정하듯이 추상화는 이미 우리가 머리속에서 행동으로 옴길 방법을 알았음에도 불구하고 우리는 누군가가 정의를 내려보라 하면 쉽게 애기를 못하는 이야기 중에 하나 인것 같습니다.

여기서 잠깐
오퍼레이션 ?
아 다 알고 계셨는데 너무 쉽게 보았다구요 죄송합니다. 전 또 모르는 분들도 볼까봐 설명을 할려고 합니다. 잘 아시는분들은 위에만 읽어보시고 나가셔도 괜찮습니다.
오퍼레이션은 기능을 뜻하는것 같습니다. 언어에서는 오퍼레이션을 아래와 같이 표현들을 해서 사용하지요

int add(int number_1, int number_2)
{
    return number_1 + number_2;
}

이런식으로 표현해 놓으면 메인이나 기타 클래스에서 불러서 사용을 할수 있게 만들어 놓은 행위를 말하는것 같습니다. 우리는 이런것을 넓게 봐서는 함수라 하고 더 광범위하게 생각하면 메소드라고 표현을 하기도 하지요. 이런식에 함수를 만들어서 사용하는것은 매우 고민해야 하고 생각을 많이 해서 만들어야 합니다. 헤드퍼스트라는 책을 읽어 보면 세월이 절대 변하는 않는것은 "변화"라는 문구가 있습니다. 굉장히 중요 합니다. 함수로 표현을 하는것은 자주 변화하고 자주 불러다 쓸수 있는 것을 선별해서 만들어야 하는데 이것은 굉장히 어려운 고충이죠. 여러분은 이런부분을 생각해서 코딩을 하시나요? 아니며 그냥 복사, 붙여넣기 아니면 남들이 그렇게 했으니 나도 그렇게 해야지 하고 만드시나요? 한번 돌이켜 생각해 보면서 코딩을 해보면 좀더 이해가 쉽지 않을까 합니다.

두번째는 속성인데요. 속성은 구지 설명을 하기 좀 그런데 우리가 클래스 같은곳에서 맴버 변수를 선언하거나 테이블을 설계할때 필드를 잡는것 등등 이런것은 모두 속성이라고 전 생각하고 쉽니다.
예를들어 아래를 보시죠.

class addr
{
    string name;
    string phone;
    string  address;
}

모 이런식으로 표현을 해 두었다고 칩시다. 이런석은 주소에 해당되는 속성들이 클래스로 잡혀 있는 것입니다. 이것을 또 테이블 즉 DB로 관리를 한다면 마찬가지로 이것도 속성이 되는것이죠 제가 아직 배운게 없어서 이런식으로 밖에 설명을 해 드리지 못하겠군요 좀더 공부를 해야겠죠 저도... 제가 잘못 알고 있을수도 있으니 말입니다.

끝으로 추상화는 정말 우리가 정의를 내리지 못해도 우린 이미 하고 있다는 사실을 항상 생각해 주시고 이번기회에 다시 잡고 넘어가세요. 인터넷이나 도서관에 책자를 보면 보다 정확하고 근본적인 답들이 많이 있습니다.
이상 추상화에 대한 설명을 맞치도록 하겠습니다. 궁금한점 있으면 댓글이나 보충설명도 댓글로, 질책도 댓글로 달아주시면 감사하겠습니다.


'기타 > 객체지향언어특징' 카테고리의 다른 글

캡슐화  (0) 2009.08.28
상속  (0) 2009.08.28
다형성  (0) 2009.08.28
C++ 과 C#의 차이점  (0) 2009.08.19
드뎌 객체지향에서 빠질수 없는 캡슐화네요. 휴 벌써 여기까지 달려오다니 책한권 읽다가 이렇게 삼천포로 빠져서 인터넷 디지고 공부를 하다니 제가 생각해도 좀 엉뚱한거 같아요 ㅋㅋ

캡슐화 정의?
객체는 자신의 동작 원리를 클래스라는 껍데기로 캡슐화 한다.
그 객체만이 자신의 오퍼레이션이 어떻게 작동하는지를 알고 있으며, 외부에서는 알 수 없다.

이런 정의를 인터넷에서 찾아볼수 있었습니다. 뭐 틀린말은 아닌거 같아요 그런데 캡슐화를 이렇게 글로 표현하니 정말 전 이해가 안되네요 ㅠㅠ 그럼 예를 들어서 한번 만들어 보겠습니다.

class CTest{
    string  name;
    string  phone;
    date    date;
}

이런게 바로 캡슐화 인가 보네요 위에서 설명한데로 예를 들어 보니 말이죠 ㅎㅎ
우리는 이미 이런 내용들을 읽어보지 않고 정의를 알지 못하여도 열심히 코딩을 하여 경험에서 많이 습득을 하고 있었던것 입니다. ㅎㅎ

두번째로

class CTest{
    public string name;
    private string jumin;
}

자 보세요 이런식으로 만들어 놓으면 타 클래스에서는 name에는 접근이 가능하나 jumin이라는 변수에는 접근을 못하게 되어 캡슐화가 되었다는 사실을 또 알수 있습니다. 정말 신기하죵 우리가 전혀 이뜻도 모르고 정의도 알지 못하지만 이렇게 자기도 모르게 사용을 하고 있었던 입니다.

'기타 > 객체지향언어특징' 카테고리의 다른 글

추상화  (0) 2009.08.28
상속  (0) 2009.08.28
다형성  (0) 2009.08.28
C++ 과 C#의 차이점  (0) 2009.08.19

+ Recent posts