본문 바로가기
학원

8일차 - 2024-08-13

by 하타라시 2024. 8. 14.

 

 

컨트롤 + 알트 + 오른쪽 방향키로 이동한 장소에 !표를 넣었습니다. 즉 해당 단축키는 단어 단위로 이동하게 됩니다.

 

컨트롤 + F4를 누르면 선택된 탭이 닫기 됩니다.

 

 

 

디폴트 파라미터란 해당 방식처럼 값을 정의해두고,

파라미터가 안들어올 경우 정의해둔 값을 활용. 들어올 경우 해당 값을 활용 합니다.

 

Stack은 LIFO입니다. 마지막에 들어온게 먼저 나갑니다.

Queue는 FIFO입니다. 먼저 들온게 먼저나갑니다.

 

지역 변수는 Ram의 스택영역과 자료구조 Stack은 다른 것이지만, 이왕 이름이 겹치는 김에 같은 위치에 작성하였습니다.

메모리 구조(데이터, 스택, 힙)? 지역 변수의 주소는 항상 동일할까? : 네이버 블로그 (naver.com)

 

 

 

 

펙토리얼을 설명해주셨습니다. 재귀함수의 함정은 공간이 계속 생긴다는 점입니다.예를들어 Factorial(4)라는 공간이 생겼을 때, return 혹은 종료되면 사라져야하는데,사라지지않고 Factorial(3)이 생기고 Factorial(2)가 생기고 Factorial(1)까지 생겨버리고 그 이후 역순으로 공간이 없어집니다. 이러한 점이 문제입니다.반복문은 불필요한 스택이 안생겨서 좋은 것 같습니다.

재귀 함수(Recursion Function)의 장점과 단점 (velog.io)

 

실제로 재귀함수로 인하여 터진 결과입니다.StackOverflow입니다.

 

 

유니티의 경우 윈도우와 다르게 \가 아닌 /로 경로를 표시하므로 /로 경로를 구분하였습니다.

 

 

System.IO에서 FileStream불러오고 그 내용을 StreamReader에서 읽어옵니다.

그 이후 처리를 거치고 역순으로 StreamReader을 닫고 FileStream도 닫는 것이 순서입니다.

IO => Input / Output

 

FileMode에 있는 모드중에 Append , Create , CreateNew , Open , OpenOrCreate, Truncate의 설명에 관한 블로그입니다.

간단하게 

Append - 파일을 열고 파일의 끝에 추가하거나 새로 만듭니다.

Create - 새 파일을 만듭니다. 있으면 덮어씁니다.

CreateNew - 새로운 파일을 만듭니다. 

OpenOrCreate - 열기모드인데 없으면 생성합니다.

Truncate - 기존 파일을 비우고 엽니다.

[C#] 파일 입출력 (tistory.com)

[C#] 파일 입출력 File IO : 네이버 블로그 (naver.com)

 

해당 코드의 경우 라인 수를 세고나서  해당 값을 반환합니다. 

 

해당 형태로하면 첫번째 향상된for문에서는 *.cs를 찾으면 라인수를 세서 더해줄 것입니다.

*와 ? 라는 와일드 카드가 있습니다.

*.cs라고 하면 *라는 와일드 카드가 사용되었습니다.

* : abc.cs / a.cs / ab.cs 로 취급됩니다. 즉 글자수 상관없이 체크됩니다.

? : a.cs / b.cs에 해당합니다. ??.cs하면 2 글자이고 , ????.cs는 4 글자까지 일것입니다.

 

그 외에 더 많은 종류들이 있는데, 아래 블로그에 나와있습니다.

공돌창고 :: C# 정규식을 사용하여 패턴 매칭(Regex, IsMatch) (tistory.com)

 

 

 

디렉토리를 찾아서 들어갈때 재귀함수로 구성되어있기 때문에 모든 디렉토리를 순차적으로 찾습니다.

만약 하위 디렉토리가 있다면 그부분 먼저 탐색하고 다시 상위 디렉토리로 와서 찾습니다.

 

 

 

C#도 c언어처럼 메모리에 접근 할 수 있습니다. 

Safe와 UnSafe입니다.

그러나 타 플랫폼에 사용될때 문제점들이 있다하셨는데 블로그를 찾지 못해서 추후 조사해야할 것 같습니다.

C# unsafe와 fixed 구문 | Rito15

 

 

struct는 구조체입니다. private를 붙여줘도 활용이 가능하다는 게 신기했습니다.

struct 안에 public 으로 들어간 변수는 멤버변수, 메소드는 멤버메소드입니다.

 

 

class도 동일한 형태로해서 활용 가능합니다. 

[C# 때려잡기] C# 강의 19 getter,setter 와 property (tistory.com)

 

일단 위에 코드에서 멤버변수는 프로퍼티로 구현되어있습니다.  위와같은 형태로 줄여쓰는 것이 가능합니다.

 

setter가 없기때문에 id에 입력을 주면 에러가 뜹니다.

 

만일 setter이 존재한다면, 에러가 뜨지 않습니다.

 

추가로 this와 생성자의 개념입니다.

생산자를 활용하면 효율적으로 값을 전달해줄수있습니다. 

그리고 클래스의 멤버변수 이름과 생성자의 파라미터 이름이 같으면 설계에도 도움이 될 것입니다.

this를 붙이면 자기자신이라는 의미를 갖게됩니다. 이로써 자기자신의 name에 넣으라는 의미가 됩니다.

https://yeko90.tistory.com/entry/c-%EA%B8%B0%EC%B4%88-this-%ED%82%A4%EC%9B%8C%EB%93%9C-this

 

 

SDLC라는 용어입니다.

타당성 검토→요구사항 분석→설계→개발→검증→운영/유지보수→폐기

상세한 설명은 추후 수정예정입니다.

 

마지막으로 

[컴퓨터개론] 소프트웨어의 역사 (velog.io)

소프트웨어의 역사를 설명해주셨습니다. 

1세대는 절차지향 

2세대는 정보공학

S/W위기 

2. 소프트웨어 위기 (소프트웨어 등장 배경) : 네이버 블로그 (naver.com)

3세대는 객체지향 인데 상세한건 조사를 더 해야할 것 같습니다.

 

 

감사합니다.

'학원' 카테고리의 다른 글

10일차 - 2024-08-15  (0) 2024.08.16
9일차 - 2024-08-14  (2) 2024.08.14
7일차 - 2024-08-12  (0) 2024.08.13
6일차 - 2024-08-11  (0) 2024.08.12
5일차 - 2024-08-10  (0) 2024.08.12