C#/C#기초

5. 클래스와 객체지향 프로그래밍

공부를하자 2023. 5. 11. 21:50

객채지향 프로그래밍

-코드 내의 모든것을 객체(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