WPF의 교육을 시작하기 전에 WPF에 대해서

 

알고 시작하기 위해서 WPF를 알아보고 진행하자

 

 

 

 

WPF 란?

 

 

2002년 정식으로 출시된 .NET Framewokr 1.0에서 Windows Forms

 

라는 기술이 등장했지만 사용자들의 눈높이가 높아지면서

 

Windows Forms 이라는 좋은 기술이 등장했지만

 

사용자들의 눈높이가 높아지면서 Window Application 에서 풍부한

 

비디오와 다양한 컨텐츠를 요구하기 시작했고

 

미디어/애니메이션/2D&3D 그래픽 등을 사용할 수 있기를 바라게됨.

 

또한 기존의 주요 윈도우 플랫폼

 

(User32/GDI32,Ruby,Windows Forms)

 

이들은 사용자들의 요구를 상당부분 만족시켜 주었지만

 

모두 각각 독립된 기술들로 분산되어 있었습니다.

 

만약 윈도우 환경하에서 위에서 나열한 모든 기능을 포함하는

 

프로그램을 만들어야 한다면 개발자들은 여러 가지 다른 기술에 대한

 

이해가 있어야만 만들 수 있을 것이며 각각의 기술들을

 

이해하기 위해 많은 노력이 필요로 하였을 것입니다.

 

그래서 하나의 기술의 범위에서 위으 모든 기능을 구현 할 수있도록

 

각각의 기술들을 광범위하게 연결하고 통합하도록 하는 기술이

 

필요하였고 그래서 만들어진 기술이 바로

 

WPF

 

(Windows Presentation Foundation)

 

입니다.

 

 

'닷넷 > Wpf프로그래밍' 카테고리의 다른 글

WPF 교육3  (0) 2015.09.17
WPF 교육2  (0) 2015.09.17
WPF공부하기 57_ 클래스  (0) 2015.02.09
WPF공부하기 57_ Object Oriented  (0) 2015.02.09
WPF공부하기 56_ Object Oriented_상속  (0) 2015.02.06

 

 

클래스의 정의

 

What is Class?

: 클래스는 특정 종류의 객체내에 있는 변수와 메소드를 정의하는

일종의 틀(template)이다.

 

: User Defined Data Structure

 

: 객체의 자료형

- 객채가 가질 데이터 및 이 데이터를 조작하는 연산에 대한 정의(description)

 

: 클래스는 내부에 다음을 정의한다

- 변수(Variable): 데이터를 저장한다.

- 메소드(Method): 데이터를 조작하는 연산이다.

 

** 클래스는 C에서 구조체(Structure)의 확장된 형태라고 생각하면 이해하기가 쉽다. 

 

 

'닷넷 > Wpf프로그래밍' 카테고리의 다른 글

WPF 교육2  (0) 2015.09.17
WPF 교육1  (0) 2015.09.17
WPF공부하기 57_ Object Oriented  (0) 2015.02.09
WPF공부하기 56_ Object Oriented_상속  (0) 2015.02.06
WPF공부하기 55_ Object Oriented_클래스  (0) 2015.02.06

WPF공부하기 57 __ Object Oriented글입니다...

 

 

Multiple Inheritance

 

 

 

하나의 부모로부터 상속 받는 것을 단일 상속, 둘 이상의 부모로 부터 상속받는 것을 다중 상속이라 지칭합니다.

다중 상속을 지원하는 것이 실세계에 더 가깝습니다.

하지만 프로그램 상의 복잡도 때문에 C#에서는 지원하지 않습니다. 편법으로 인터페이스를 이용합니다.

 

 

 

Polymorphism

 

다형성

: 클래스가 다양한 형태를 가질 수 있음을 의미합니다.

: 고속버스가 자동차로부터 상속을 받았을 때, 둘 다 Run()이라는 메소드를 가지고 있다고 해도 Run()의 의미는 다를 수 밖에 없다. 또한 고속버스로부터 상속받은 우등고속버스 역시 Run()의 의미가 달라진다. 이것을 오버라이딩에 의한 다형성이라고 말합니다.

: 또한 고속도로를 달리는 Run(고속도로 a)와 일반 국도로 달리는 Run(일반국도b)는 서로 다른 의미가 된다. 이것을 오버로딩에 의한 다형성이라고 말합니다.

 

WPF공부하기 Object Oriented _상속입니다. ^^

 

상속 (Inheritance)

 

상속

: 객체는 자신의 특성과 행동을 다른 객체에게 상속할 수 있다. 자동차 객체에 있는 특성들은 거의 대부분 고속버스 객체에서 존재하게된다. 이 경우 자동차가 고속버스에게 속성을 상속한 것이 된다.

 

추상 클래스

: 상속 관계상 최상위에 있는 것이 추상 클래스이다. 상속만을 위해서 존재하는 클래스이다.

 

최종클래스

: 더 이상 상속하지 않는 클래스로 상속 관계상 최하위에 있다.

C#에서는 명시적으로 상속을 금지하는 키워드 sealed를 사용한다.

 

 

 

WPF공부하기 --> WPF강좌는 오라클자바교육센터로 문의하세요 ^^

WPF공부하기 Object Oriented  클래스에 대해올리겠습니다. ^^

 

클래스 (Class)

 

* 객체 -> 클래스

: 객체를 모델링하기 위해서 클래스를 사용한다.

: 사람이라는 객체가 있을 때, 우리는 사람을 표현하기 위해서 수많은 사람의 특성 중에서 몇 가지의 변수와 행동만을 추출해서 사용한다.

: 클래스는 객체의 부분집합이다.

 

클래스 -> 인스턴스

: 클래스는 객체의 설계도이다. 이 클래스를 이용해 구현한 객체가 바로 인스턴스이다.

: 사람 객체를 성명, 몸무게, 걷다로 한정하여 설계한 것은 클래스, 이 클래스에 맞게 홍길동을 새성해 낸다면 이것은 인스턴스가 된다.

 

 

WPF공부는 it개발자스터디공간을 많이 이용해주세요 ^-^

WPF공부하기 _ 메세지와 인터페이스입니다. ^^

 

 

메세지 (Message)

 

 

미사일이 발사되었습니다.

 

* Missile 발사 장치를         <- 명령을 받는 객체

* 눌렀다                           <- 행동의 종류

* 5번 버튼                         <- 파라미터

* 발사되었음을 알리는 신호  <- 반환되는 결과값

 

 

 

인터페이스(Interface)

 

 

 

* 미사일 발사장치에 표준화된 발사 인터페이스가 있다면 새로운 미사일 발사장치가 나와도 쉽게 미사일을 발사할 수 있다.

 

 

 

객체 지향 (Object Oriented)

 

절차형 프로그래밍과 객체지향 프로그래밍

- C같은 예전 프로그램은 기능을 나열하는 방법의 프로그램을 지원한다. 함수와 서브루틴, 변수들로 이루어져 있다.

- 반면, 현실 세계는 객체들로 이루어져 있고, 각 객체들의 동작과 속성, 상호작용으로 이루어져 있다.

- 현실 세계와 닮은 프로그래밍이 바로 객체지향이다.

 

객체

- 데이터와 프로시져들의 집합 생태를 가지고 독자성을 가지며 각 객체마다 고유한 행동이 있다.

- 프로그램에서는 상태를 변수로 행동은 메소드로 정의한다.

 

 

 

 

캡슐화 (Encapsulation)

 

캡슐화

- 객체의 생태와 행동을 객체 내부에서 구현한다. 외부에서는 내부를 몰라도 조작이 가능하다.

- 버튼을 누른다 -> missile이 발사된다. (버튼 누르는 사람이 과연 모든걸 알고있을까요..?)

 

캡슐화의 이점

-  간결한 코드 : 코드가 간결하고 가독성이 높다

- 모듈화: 코드들은 객체 내부에 들어있다. 외부에서 코드를 알아햐 할 필요가 없다. 우리는 객체에게 명령만 하면 되는 것이다.

- 정보 은닉: 내부 자료의 직접제어는 위험하다. 객체내의 변수제어를 안전한 방식으로만 가능하게 한다.

 

 

 

 

WPF공부하기 52번째글입니다.

문자열메소드에 관한 글이며 검색, 포멧, 구분에 대해 알아보겠습니다.

 

문자열 메소드

 

검색, 포멧

 

IndexOf(str), LastIndexOf(str)

* 문자열이 처음으로 (마지막으로) 나타나는 곳의 위치를 리턴

 

Substring(index), Substring(index, length)

* index 위치부터 length 길이 만큼 잘라냄. Length없으면 끝까지의 문자열을 잘라냄

 

String.Format(formatString, args)

* Console.Write 메소드의 화면 출력 값과 동일한 string으로 반환한다.

* ex) a=String.Format("{0}:{1}","boo",1234);

-> a="boo:1234"

 

구분

 

Split(구분문자)

* 문자열을 구분자를 기준으로 잘라서 여러 개의 문자열로 만든 다음, 이 문자열 들의 배열을 반환한다.

 

ex) 빈칸으로 나누어진 문자열

string str1="123 456 7 89";

stirng [] str2 = str1.Split(' ');

foreach (string str3 in str2) Console.WriteLine(str3);

 

 

 

 

+ Recent posts