본문 바로가기
프로그래밍/C#

[C#] 객체지향 프로그래밍 언어 특징

by 아임코딩 2023. 5. 5.
728x90
반응형

안녕하세요 아임코딩입니다.

 

이번에는 객체지향 프로그래밍 언어의 특징에 대해서 알아보겠습니다.

 

캡슐화

  • 데이터와 그 데이터를 다루는 코드를 하나로 묶는 것입니다.
  • 객체가 가진 데이터를 외부에서 직접적으로 접근하지 못하도록 제한합니다. 이를 통해 객체 내부 구조를 보호하고 안정성을 높일 수 있습니다.
  • 객체 외부에서 데이터를 접근하려면, 객체 내부에서 해당 데이터에 접근할 수 있는 메서드를 제공해야 합니다.
  • 이러한 접근 메소드를 통해 객체의 내부 상태를 안전하게 변경할 수 있습니다.

 

C#에서의 캡슐화

  • C#에서는 클래스(class)를 사용하여 객체를 정의하고, 클래스 내부에 필드(field)와 메소드(method)를 정의합니다.
  • 캡슐화란 객체의 필드와 메소드를 클래스 내부로 숨기고, 클래스 외부에서는 접근을 제한하는 것입니다.
  • C#에서는 필드와 메소드의 접근 제한자를 사용하여 캡슐화를 구현합니다.
  • 필드는 private 접근 제한자를 사용하여 클래스 외부에서 직접 접근할 수 없도록 합니다.
  • 필드의 값을 가져오거나 변경할 수 있도록 public으로 접근할 수 있는 메소드를 정의합니다.
  • 메소드 내에서는 private으로 선언된 필드에 직접 접근하여 값을 변경할 수 있습니다.
  • 이러한 방식으로 필드와 메소드를 캡슐화하여 클래스 외부에서 필드에 직접 접근할 수 없도록 합니다.

 

더 자세한 캡슐화에 대한 내용은 아래 글을 확인해주세요!

2023.05.05 - [프로그래밍/C#] - [C#] 캡슐화

 

[C#] 캡슐화

안녕하세요 아임코딩입니다. 캡슐화 설명 이번에는 C#으로 알아보는 객체지향 프로그래밍 언어의 특징 중 하나인 캡슐화에 대해서 알아보겠습니다. C#에서는 class를 사용하여 객체를 정의하고,

imcoding-official.tistory.com

 

 

상속

  • 상속(inheritance)은 객체지향 프로그래밍에서 중요한 개념 중 하나로, 기존의 클래스를 재사용하여 새로운 클래스를 만들 수 있는 기능입니다.
  • 어떤 클래스를 그대로 복사하여 다른 클래스에 붙여넣는다고 생각하면 쉽습니다. 
  • 복사하는 클래스를 부모 클래스(parent class) 또는 슈퍼 클래스(super class)라고 하고, 붙여넣는 클래스를 자식 클래스(child class) 또는 서브 클래스(subclass)라고 합니다.
  • 상속을 통해 부모 클래스의 변수와 함수를 자식 클래스에서 사용할 수 있습니다.
  • 상속을 통해 자식 클래스는 부모 클래스의 기능을 확장하거나 수정할 수 있습니다.

 

C#에서의 상속

  • C#에서는 클래스를 선언할 때 콜론(:) 뒤에 부모 클래스를 지정하여 상속을 선언한다.
  • C#에서는 클래스 다중 상속을 지원하지 않는다. 한 번에 여러 클래스를 상속받는 것을 지원하지 않는다.
  • 다중 상속을 지원하기 위해서 인터페이스를 제공합니다. 인터페이스는 상속받은 자식 클래스에서 반드시 인터페이스가 가진 메서드를 재정의 해야합니다.
  • C#에서는 sealed 키워드를 사용하여 상속을 금지할 수 있다.
  • C#에서는 protected 키워드를 사용하여 상위 클래스의 멤버를 하위 클래스에서 접근할 수 있도록 지정할 수 있다.
  • abstract 키워드를 이용해 추상 클래스를 만들 수 있습니다. 추상 클래스는 객체 생성이 불가능하고 자식 클래스에서 상속받아 사용해야합니다.

 

상속에 대한 더 자세한 내용은 아래의 글에서 확인해주세요!

2023.05.05 - [프로그래밍/C#] - [C#] 상속

 

[C#] 상속

안녕하세요 아임코딩입니다. 이번에는 C#에서 지원하는 상속에 대해서 알아보겠습니다. 상속이란? 상속은 객체지향 프로그래밍 언어에서 중요한 개념 중 하나로, 기존의 클래스를 재사용하여

imcoding-official.tistory.com

 

 

다형성

  • 다형성은 하나의 코드가 여러 가지 형태로 실행될 수 있도록 하는 것입니다.
  • 다형성은 크게 오버로딩(overloading)과 오버라이딩(overriding)으로 나눌 수 있습니다.
  • 오버로딩(overloading): 같은 이름의 메서드를 여러 개 정의하는 것입니다. 매개변수의 타입, 개수, 순서가 다른 경우에는 서로 다른 메서드로 인식됩니다.
  • 오버라이딩(overriding): 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의하는 것입니다. 자식 클래스에서는 부모 클래스의 메서드와 동일한 이름과 매개변수를 가진 메서드를 정의합니다. 이렇게 하면 상위 클래스의 메서드가 자동으로 가려지고, 하위 클래스의 메서드가 실행됩니다.

 

 

C#에서의 다형성

  • override 키워드를 이용하여 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의 할 수 있습니다.
  • abstratct 키워드를 이용하여 추상 메서드를 만들 수 있습니다. 추상 메서드는 반드시 자식 클래스에서 재정의 해야합니다.
  • interface 를 상속받으면 상속받은 자식 클래스에서는 인터페이스가 가진 메서드를 반드시 모두 재정의 해야합니다.

 

다형성에 대한 더 자세한 글은 아래를 참조해주세요!

2023.05.05 - [프로그래밍/C#] - [C#] 다형성 (메서드 오버로딩)

 

[C#] 다형성 (메서드 오버로딩)

안녕하세요 아임코딩입니다. 이번에는 객체지향 프로그래밍 언어의 중요한 특징 중 하나인 다형성에 대해서 알아보겠습니다. 다형성 설명 다형성은 하나의 코드가 여러 가지 형태로 실행될 수

imcoding-official.tistory.com

2023.05.05 - [프로그래밍/C#] - [C#] 다형성 (메서드 오버라이딩)

 

[C#] 다형성 (메서드 오버라이딩)

안녕하세요 아임코딩입니다. 이번에는 객체지향 프로그래밍 언어의 중요한 특징 중 하나인 다형성에 대해서 알아보겠습니다. 다형성 설명 다형성은 하나의 코드가 여러 가지 형태로 실행될 수

imcoding-official.tistory.com

 

추상화

  • 추상이란 사물이나 표상(表象)을 어떤 성질·공통성·본질에 착안하여 그것을 추출(抽出)하여 파악하는 것
  • 결국 어떤 공통적인 성질이나 본질을 추출하여 파악하는 것이 추상화의 핵심입니다.
  • 추상화의 핵심은 구체적인 사물을 추상적으로 표현하는 것입니다. 객체 지향 프로그래밍에서는 추상화를 통해 클래스를 정의하고, 인스턴스를 생성하여 사용합니다.

 

C#에서의 추상화

  • 클래스는 현실에 있는 사물을 추상화한 결과물입니다.
  • 클래스들의 공통적인 데이터나 메서드를 추출하여 추상 클래스로 만들 수 있습니다.
  • 클래스들의 공통적인 데이터나 메서드를 추출하여 인터페이스로 만들 수 있습니다.

 

추상화에 대한 더 자세한 내용은 아래의 글을 참고해주세요!

2023.05.05 - [프로그래밍/C#] - [C#] 추상화

 

[C#] 추상화

안녕하세요 아임코딩입니다. 이번에는 C#에서 사용하는 추상화에 대해서 알아보겠습니다. 추상화 추상이란 사물이나 표상(表象)을 어떤 성질·공통성·본질에 착안하여 그것을 추출(抽出)하여

imcoding-official.tistory.com

 

 

이상으로 객체지향 프로그래밍 언어의 특징에 대해서 알아봤습니다.

728x90
반응형

'프로그래밍 > C#' 카테고리의 다른 글

[C#] 상속  (0) 2023.05.05
[C#] 캡슐화  (0) 2023.05.05
[C#] 메서드  (0) 2023.05.05
[C#] 클래스 class  (0) 2023.05.05
[C#] 배열  (0) 2023.05.04