728x90

c# 33

C# 기초 문법 나머지, 텍스트 RPG 게임 만들기 - TIL#8 (1)

어제는 객체 지향 프로그래밍(OOC)과 가장 중요한 개념인 객체와 클래스를 중점적으로 다뤄봤었다. 오늘은 이어서 인터페이스(Interface)에 대해서 배웠는데, 인터페이스는 USB 포트와 같이 클래스를 정의할 때 일종의 규격을 만드는 기능이다. 클래스 상속과 사용 방법은 거의 동일하다. 이러면 클래스와 다를 게 뭔가 의문점이 든다. 인터페이스를 쓰는 이유를 크게 3가지로 볼 수 있다. 다중 상속 가능 (클래스는 안 됨) 클래스 정의 시 일정한 규격의 변수 지정을 강제할 수 있음 객체정보 간소화 클래스는 다이아몬드 문제를 피하기 위해 다중 상속이 안되지만, 인터페이스는 일종의 다중 상속과도 같은 기능을 구현해 볼 수 있다. 다이아몬드 문제 관련글: https://velog.io/@soongle/c-%EB..

C# 문법 기초, 콘솔 숫자야구 게임 만들기 - TIL#7

오늘은 공부한 분량이 상당했기 때문에 전부 다 꼼꼼하게 정리하기엔 어느정도 한계가 있다고 판단했다... 그래서 공부할 때 메모했던 내용을 다듬는 식으로 정리할까 싶다. 항상 나는 Python을 주로 다뤘기 때문에 배열 = 리스트? 라고 단순히 생각했었다. 하지만, 적어도 C#에서는 배열과 리스트는 다르다! 배열은 처음에 정적으로 인덱스의 갯수를 할당해줘서 마치 단체 손님에게 방을 몇 개 내 줄 건가와도 같은 형식인데 리스트는 메모리가 동적 할당되며, 어느 부분에선 배열보다 간단하나, 당연히도 코딩 복잡도가 증가한다. var 키워드 때처럼 무분별하게 사용하지 않는 것이 중요하다는 생각을 했다. 리스트와 기타 구조의 자료를 사용하고 싶다면 System.Collections.Generic 네임스페이스를 추가해..

C# 문법 기초, 새로 알게 된 사실과 느낀 점 - TIL#6

오늘부터는 본격적으로 C#을 다루는 것에 집중해서 수업을 받게 된다. 그런만큼 C#에 대해 처음 알게 되는 사실도 있었고 기존에 다른 프로그래밍 언어를 다룰 때 배웠던 개념들도 C#에서는 어떻게 표현하는 지 알 수 있었다. 1. Hello, World! 2. 마법의 키워드 var 3. 궁금했던 문법, 3항 연산자( ? : ) 4. 궁금증: Switch case 문과 If else문의 차이? 5. 기타(foreach, 중첩반복문) 1. Hello, World! 항상 어떤 프로그래밍 언어를 배울 때 제일 처음에 시작하는 것은 당연히 Hello, world!를 콘솔 창에 띄우는 것부터다. Hello, world! 를 콘솔 창에 띄우는 것을 보고 우리는 그 언어에 대해 첫인상을 받게 되고 대충 이럴 것이다 라는..

728x90