728x90

2025/04/17 14

[C#] 오버라이딩

1. 오버라이딩이란?오버라이딩은 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의하여, 상황에 맞게 다르게 동작하도록 만드는 기능. 오버라이딩(Overriding)은 상속 관계에서 사용되며,부모 클래스의 메서드를 자식 클래스가 다시 정의해서 덮어쓰는 것을 의미한다. C#에서는 이때 다음과 같은 키워드를 사용한다.virtual: 부모 클래스에서 오버라이딩 가능한 메서드에 사용override: 자식 클래스에서 메서드를 재정의할 때 사용 2. 오버라이딩 기본 구조class Animal { public virtual void Speak() { Console.WriteLine("동물이 소리냅니다."); }}class Dog : Animal { public override void..

[C#] 다형성(Polymorphism)

1. 기본 개념다형성은 같은 메서드 호출이지만, 객체에 따라 다르게 동작하게 만드는 객체지향 프로그래밍의 중요한 개념이다.예를 들어 Speak()이라는 메서드를 동물마다 다르게 구현할 수 있다. 2. 가상(Virtual) 메서드부모 클래스에서 메서드를 virtual로 선언하면, 자식 클래스에서 이를 override하여 다른 방식으로 재정의할 수 있다.→ virtual뜻은 자식이 재구현 했을 수 있다. 재정의를 했을 수 있다, 실형태가 다를 수 있으니 실형태에 재정의가 되어있는지 확인해봐라라는 뜻class Animal { public virtual void Speak() { Console.WriteLine("동물이 소리를 냅니다."); }}class Dog : Animal { ..

[C#] 상속(Inheritance)

1. 기본 개념상속은 객체지향 프로그래밍의 핵심 개념 중 하나로 기존 클래스의 기능을 물려받아 새로운 클래스를 만드는 것을 말한다.코드 재사용성을 높이고, 계층 구조를 설계할 수 있게 해준다. 부모 클래스(Base Class): 공통 기능을 정의하는 클래스자식 클래스(Derived Class): 부모 클래스를 상속받아 기능을 물려받거나 확장한 클래스🔹구조class 자식클래스 : 부모클래스 { // 자식 고유 멤버들}→ ':' 기호를 통해 상속 관계를 표현한다. 2. 📝예시class Animal { public void Eat() { Console.WriteLine("냠냠 먹어요"); }}class Dog : Animal { public void Bark() { ..

[C#] 프로퍼티 (Property)

1. 프로퍼티(Property)란?프로퍼티(Property) 는 필드(field)에 간접적으로 접근할 수 있도록 도와주는 일종의 메서드처럼 동작하는 멤버이다.값을 읽고(get), 설정(set) 하는 역할을 하며, 캡슐화(encapsulation) 를 구현할 때 자주 사용 2. 왜 프로퍼티를 사용할까? 외부에서 필드에 직접 접근하지 못하게 막고, 통제된 방식으로 값을 설정하거나 읽게 하기 위해유효성 검사, 로직 처리 등을 중간에 추가할 수 있기 때문 3. 기본 구조class Person { private string name; // 필드 public string Name // 프로퍼티 { get { return name; } set { name = valu..

[C#] 객체지향 프로그래밍

1. 객체지향 프로그래밍이란?객체지향 프로그래밍(OOP) 은 프로그램을 객체(Object) 단위로 나누어 개발하는 방식이다.각 객체는 데이터(속성) 와 기능(메서드) 을 함께 가지며, 서로 협력해 프로그램을 구성한다. 2. 객체지향의 4대 특징→ 캡슐화(Encapsulation), 상속 (Inheritance), 다형성 (Polymorphism), 추상화 (Abstraction) ①캡슐화(Encapsulation) 데이터(변수)와 기능(메서드)을 하나의 단위로 묶는 것외부에서 직접 접근하지 못하도록 숨기고(private), 필요한 정보만 공개(public)class BankAccount { private int balance = 1000; public void Deposit(int amoun..

C#/기초 2025.04.17

[C#] 객체

1. 객체(Object)란?프로그래밍에서 객체(Object) 는 클래스 또는 구조체를 통해 만들어진 실제 사용 가능한 실체(instance) 를 의미한다.즉, 클래스를 설계도라고 한다면 객체는 그 설계도로 만든 제품이라고 할 수 있다.좀더 쉬운 예시) 클래스:붕어빵틀, 객체:붕어빵 객체: 속성과 기능(상태와 동작) 을 가진 실체클래스(또는 구조체)를 기반으로 만들어진 메모리 상의 데이터객체를 생성하면 클래스에 정의된 필드, 메서드, 속성 등을 실제로 사용할 수 있게 된다. 2. 객체 생성 방법 new 키워드를 사용하여 객체를 생성한다.객체를 생성하면 클래스에 정의된 필드와 메서드에 접근할 수 있다.클래스이름 객체이름 = new 클래스이름(); 📝예시1Car myCar = new Car(); 📝 예..

[C#] 클래스 구조체 차이

1. 기본 개념C#을 공부하다 보면 class와 struct의 차이에 대해 혼란스러울 수 있다.둘 다 데이터를 담는 틀이라는 점은 같지만 동작 방식과 사용 목적이 다르다.이 글에서는 클래스와 구조체의 차이를 정리하고 언제 어떤 걸 사용하면 좋은지, 그리고 구조체의 한계점까지 알아보자. 🔹시작전 각각의 개념을 한번 더 복습해보자. ✅ 클래스란?참조형(reference type)new 키워드로 인스턴스를 생성힙(Heap) 메모리에 저장됨변수에 객체의 참조(주소) 를 저장상속, 다형성 등 객체 지향 프로그래밍(OOP) 특징을 활용할 수 있음class Person { public string Name; public int Age;} ✅ 구조체란?값형(value type)new 없이도 사용 가능..

728x90