개발 TIL

내일배움캠프 22일차 TIL 학습내용

yun-wj1126 2025. 2. 21. 21:54

이번에 다시 객체지향에 관련해서 특강을 들었다.

 

class와 object 와 instace이렇게 3가지가 뭐인지 였는데 

class는 문법 즉 코드에서만 존재하는 것이고

object는 단위 즉 개념의 의미를 가진다.

instance는 메모리에 할당된 객체/ 클래스 즉 현실세계 Heap메모리에 존재하는 것이다.

 

객체에 필요한 속성, 기능을 Class로 관리한다.

객체는 기능을 제공한다.

그 기능을 제공하기 위해서는 캡슐화 해야하고, 캡슐화 하기위해서 추상화를 해야한다. 

상속을 통해서 다양한 클래스를 만든다. (다형성, 파생클래스, 자식클래스)

캡슐화, 추상화, 상속, 다형성

이걸 객체지향의 4가지 특징 OOP의 4가지 특징이다.

 


제네릭

 

컵(Cup)에 들어가는 Tea(T)가 무엇인지에 따라 오렌지 주스 컵, 커피 컵, 사이다 컵 등이 결정됨 이처럼 넘어오는 데이터 형식에 따라 해당 개체 성격을 변경하는 구조를 제네릭이라고 함.

제네릭을 사용하면 여러 목적의 컬렉션 형식을 만들 수 있음

제네릭 클래스는 자료형을 일반화된 타입인 <T>로 표시한 클래스

 

컬렉션

컬렉션은 데이터를 효율적으로 저장, 검색, 조작할 수 있는 다양한 기능을 제공, 주요한 컬렉션 클래스들은 닷넷 프레임워크의 일부로 제공 

System.Collections 및 System.Collections.Generic 네임스페이스에 정의되어 있음

 

List<T> 와  ArryList의 차이는 제네릭을 사용하냐 안하냐의 차이이다.

 

C#의 확장 메서드는 모든 클래스의 기능을 확장할 수 있는 메서드

기본적으로 클래스에 extra public method를 추가할 수 있음

이를 생성하려면 정적 클래스가 필요하고 다음과 같은 정적 메서드를 추가하기만 하면 됨

확장 메서드는 자주쓰거나 유용한기능들을 확장메서드로 등록해서 사용하면 편리하고 좋을듯 하다.