학원

7일차 - 2024-08-12

하타라시 2024. 8. 13. 09:58

알트 + 시프트 + 엔터를 통하여 전체화면을 적용하거나 해제 가능합니다.

 

 

유니티는 OOP(객체지향) 방식과 CBD(컴포넌트) 방식이 합쳐진 형태입니다.

OOP는 C#에 해당하며 CBD는 컴포넌트로 데이터 관리 가능한 부분에 해당합니다.

[Unity] 새로운 컴포넌트 시스템 ECS와 Entity (velog.io)

 

 

AOP는 Aspect Oriented Programming / 관점 지향 프로그래밍이라고 불립니다.

[Spring]AOP의 개념 및 적용 예제(공통관심사 처리하기) — 춍춍 블로그 (tistory.com)

해당 블로그 글을 읽어보니 특정 범위까지에서 메소드를 실행 시에 만들어둔 디버깅 메소드를 호출하는 형태로 이해했습니다.

 

 

enum의 처음 부분은 자동으로 0이 매핑되지만, 관례상 0을 붙여주면 좋다는 이야기를 들었습니다.

추후 구글링 열심히 해서 관련 자료를 찾아봐야겠습니다.

 

 

;가 세미콜론이라고 불리는 이유는 절반만큼이 콜론이기 때문에.....

 

 

enum에 매핑된 값을 활용해서 이런 형태도 가능하다고 알려주셨습니다. 실제로는 이동할 때에 저런식으로 쓰진 않지만,, 

uint가 byte보다 상위호환이며, 0x는 16진수 0b는 바이트라는 것 그리고 _를 넣어도 인식이 되는것까지 확인하였습니다.

언젠간 쓸 날이 오리라 생각합니다,,,,

 

원래는 다형성이라고 불렀었는데, 오버로딩도 맞는 말이고,, 헷갈리게 되었습니다..

아무튼 타입에 따라 다른 형태로 메소드가 실행 되는 조은 기능입니다.

동일 파라미터일때는 에러가 뜨지만, 다른 파라미터이거나 파라미터의 개수가 다른 경우에는 다른 것으로 인식됩니다.

 

추가로 키코드에 관한 내용입니다.

유니티 KeyCode 종류 알아보기 :: Chameleon Studio (tistory.com)

KeyCode.Alpha1 ~ 3은 키패드 말고, 좌측에 있는 숫자 1 ~ 3을 의미합니다.

 

 

call by value : 값에 의한 전달

call by ref : 참조에 의한 전달

call by address : 주소에 의한 전달

[C++] call by value, call by address, call by reference 차이 (tistory.com)

 

간단하게 Swap(a,b)는 call by value입니다. 왜냐하면 값이 전달되며, 실제 a와 b에는 영향이 없기 때문입니다.

그러나 Swap(ref a, ref b)를 쓰게 되면 call by ref가 됩니다. 실제로 Swap에 의하여 값이 변할 것입니다.

추가로 call by address는 주소를 넘겨주는 형태입니다. c언어의 포인터가 이에 유사하다고 알고있습니다.

 

 

여기서 ref와 out의 차이점은 ref는 할당을 해주어야 합니다. 

추가로 값의 전달까지 고려하면서 return까지 원할 때는 return단독으로 쓰기보단 ref를 활용하면 좋을 것입니다.

 

반면에 out은 값이 할당되지않더라도 에러 없이 실행 됩니다.

 

 

가변형 파라미터는 params으로 배열의 형태를 파라미터를 받아오거나 문자열 여러개를 대입받을 수 있습니다.

한 개도 가능합니다.

 

여기서 또 다른 것으로 원래는 경로가 C:\Nexon 이러하지만 "C:\Nexon" 그대로 쓰면은 역슬래시를 인식 못하게 됩니다. 그래서 \ 앞에다가 \를 붙여준 것입니다. 다른 특수문자도 대부분 동일합니다.

 

유니티에서 Application.dataPath를 뽑아오면 /로 값이 나오게 됩니다.

System.IO를 통해 뽑아오게 되면 \로 값이 나오게 됩니다.  나중에 다중 플랫폼 할 때에  조심해서 코드를 짤 예정입니다.

 

상대 경로에서 ./는 현재 이고 ../는 부모로 이동입니다.

절대 경로는 잘 안쓰는 것으로 설명 주셨습니다.

 

 

new string[]하고 {};에 값을 넣어주는 형태에서 예전에 숫자를 넣으면 왜 에러가 뜨는가 했는데,, 정해진 양만큼 값을 안넣어서 그랬었습니다..

3번째는 4개를 넣었기에 에러가 뜨지만 2번째는 5개의 값으 넣으니 에러가 뜨지 않는 모습이 있습니다.

다음엔 절대로 실수 안할 것 같습니다.

 

 

Debug에 Error나 waring같은건 들어본 것 같은데 LogFormat은 처음보았습니다. string.Format이랑 비슷하다고 생각해도 될 듯합니다.

 

 

감사합니다.