클래스의 정의

 

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);

 

 

 

 

WPF공부하기

이번글은 문자열 메소드입니다.

추가, 변환, 교체에 대한 내용입니다.

 

문자열 메소드

 

- 추가

 

Length 프로퍼티 : 문자열 길이

 

Insert(index, str): 문자열 index 위치에 str을 추가한다.

"1234". Insert(2,"AA") -> "12AA34"

 

Concat(str1, str2, ...) 파라미터 문자열을 모두 합친다. 새로운 문자열을 반환하다.

 

str1+str2 : str1과 str2를 합친다.

(*) 대부분의 문자열 메소드는 결과 문자열을 다른 변수에 할당해주지 않으면 아무 효과도 일어나지 않는다.

즉, str3=str1.Insert(2, str2); 식으로 ...

 

- 변환, 교체

 

ToUpper(), ToLower()

: 대문자 / 소문자로 통일

 

Trim(), TrimStart(), TrimEnd()

: 공백 앞뒤 자르기, 앞부분 공백 자르기, 뒷부분 공백 자르기

 

Replace(바꿀문자열, 바뀔문자열)

: 문자열 내에서 바꿀문자열을 찾아 바뀔문자열로 바꾼다. 아래는 공백제거의 예이다.

 

ex) "12 3 4".Replace(" ","")->"1234"

 

 

 

 

+ Recent posts