객채지향 프로그래밍
-코드 내의 모든것을 객체(object)로 표현하고자 하는 프로그래밍 패러다임
-데이터(속성)과 기능(메서드)로 이루어짐
*속성
-추상화 : 공통의 속성이나 기능을 묶는 것
-다형성 : 객체가 여러형태를 가지는 것
-상속성 : 기존의 데이터(부모)로 새로운 데이터(자식)를 만드는 것
-캡슐화(은닉화) : 변수와 함수를 캡슐안에 묶는다 는것.
-클래스
- 클래스는 하나의 형식이자 설계도다
-각 클래스는 별로 하나만 존재한다
-객체의 데이터 정의
-어떤 메서드를 가질지 정의
-객체
-메모리에 적재된 실체
- 복수가 존재할 수 있음
- 선언된 데이터항목에 실제데이터를 가지고 있다
- 메서드를 실행
*클래스의 선언
-클래스내의 변수를 필드(Fields)
-클래스의 기능을 메소드(Method)
*객체 생성
클래스이름 객체명 = new 클래스이름( );
클래스안의 Name 및 Color에 접근 가능
*정적필드와 메서드
-클래스의 메소드와 필드가 클래스로 만든 객체가 아닌 클래스 자체에 귀속되도록
하는것
*생성자와 종료자(명시적 구현은 선택)
-생성자 : 객체가 생성될떄 호출
생성자 호출과 생성자 오버로딩
-종료자 : 소멸될 떄 호출(단 구현하지 않으면 가비지콜렉터가 자동으로 호출)
this 키워드 : 객체를 내부 자기자신을 참조하는 형식
접근한정자
-객체 간의 상호작용의 접근하는데 필요
상속
-다른 클래스와 코드를 물려받는 행위
-클래스의 필드, 메소드 프로퍼티를 상속한다
-*오버라이딩
-기반 클래스에서 선언된 메소드를 파생클래스에서 재정의 하는 것
- 기반 클래스에서는 오버라이딩 할 메소드를 미리 virtual로 한정해야한다
- 파생클래스에서는 virtual이 표시된 같은 이름의 메서드를 override를 붙여 재선언한다.
-단 private로 선언된 메서드는 불가능하다.
- 그외
*형식변환 is 와as
구조체
-클래스 와 비슷한 복합데이터 형식
-클래스는 참조형식 구조채는 값형식이다
- 클래스는 가비지컬렉터가 제거 구조체는 스택이 자동제거
튜플
-형식을 선언하지 않는 복합데이터 형식
- 기본적으로 구조체에 값 형식이다
- 즉석으로 만들어 사용하는 형식에 적합
-필드명을 명시적 표현을 쓸수 있다
'C# > C#기초' 카테고리의 다른 글
7. 프로퍼티 (0) | 2023.05.14 |
---|---|
6.인터페이스와 추상클래스 (0) | 2023.05.13 |
4. 메소드 간추리기 (0) | 2023.05.09 |
3.코드의 흐름제어 (0) | 2023.05.08 |
2.데이터 가공 연산자 (0) | 2023.05.06 |