코딩 공부/패스트캠퍼스 게임 개발 올인원

패스트캠퍼스 챌린지 20일차

잘자라는스투키 2022. 2. 12. 21:58
반응형

 [C# 프로그래밍 : 클래스 개념 꽉잡기 - 확장, 클래스vs구조체]

1. 메소드 확장 함수

- 상속받아서 메소드 추가하지 않고, 기능을 확장해서 사용 가능

- 정적 클래스 (static class)이어야만 함

- public static 반환형식 메서드 이름(this 대상형식 식별자, 매개변수 목록){...}

  (ex : public static void Print(this AA aa, string str) {...} -> aa.Print("문자열");이렇게 사용 가능..)

- 하나의 복합적인 클래스를 모아서 어떤 특정한 객체들을 가져다가 함수들을 통합해서 사용한다거나, 자주사용하는 함수를 묶어서 사용한다거나 할 때 좀 더 쉽게 사용할 수 있게 해줌.

- 파라미터도 여러개 넣을 수 있음

 

2. 클래스 vs. 구조체 :  같은 사용자 자료형이지만 자료의 크기가 작을 때, 구조가 단순할 때 구조체를 사용하는게 유리.

- 클래스(Class)

  • 특징 : 참조 타입.힙에 생성
  • 사용 : new 연산자로 생성
  • 파라미터 없는 생성자 가능
  • class 클래스이름 {....}

- 구조체(Struct)

  • 특징 : 값 타입이라서 참조할 수 없음. 복사해와도 서로 영향 안줌. 스택에 생성함. 
[스택?힙?] : 저번 시간에 배웠던 것 같지만 여전히 헷갈려서 다시 검색해 봄.
- 스택 : 메모리에 벽돌처럼 차례차례 차곡차곡 변수들을 쌓고 중괄호 만나면 메모리에서 제거
- 힙 : 데이터 계속 유지함. 사용하지 않으면 가비지 컬렉터가 수거해 감. 참조타입변수는 힙과 스택을 함께 사용하는데 힙 영역에는 데이터를 저장하고 스택영역에는 데이터가 저장된 힙의 메모리 주소를 저장한다.
참고 블로그 : https://truecode.tistory.com/46

  • 사용 : new연산자없이도 생성 가능(AA aa = new AA(10,20); 은 물론 AA aa;도 가능 )
  • 생성자 : 반드시 파라미터가 있어야함
  • 대부분 public으로 설정되어 있음. 아무나 갖다 쓸 수 있도록.
  • struct 구조체이름{...}

 


클래스보다 단순할 때 사용하는 거라고 하셨지만 정확히 struct가 어떤 경우에 쓰이는 지 감이 안 잡힌다.하다보면 알겠지?

 

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#C#과유니티로배우는게임개발올인원패키지Online.

반응형