[Tistory] 9일차 – 2024-08-14

원글 페이지 : 바로가기

32비트와 64비트에 관한 내용입니다. https://m.blog.naver.com/sharpsoul/221777128846 32비트의 경우 4바이트의 데이터를 처리하고, 64비트의 경우 8바이트의 데이터를 처리하는데 , 이것은 2^32가 4,294,967,296이고 , 2^64는 18,446,744,073,709,551,616이기때문입니다. 이를 계산기로 나눠보면.. 밑에꺼는 숫자를 다 못쓴건데도,,저렇게 큰수가 남습니다… RAM 구조 및 내용 설명에 관한 부분입니다. https://greatzzo.tistory.com/57 구조체는 가변 데이터용으로 많이 쓴다고 합니다. 이유는 추가예정입니다. struct는 값형태 이므로 Stack 영역에 들어가게 됩니다. 정적인 형태입니다. class는 참조형태 이므로 Heap 영역에 들어갑니다. 동적인 형태입니다. Data는 static같은 것들이 들어가게 됩니다. 스택오버플로우는 스택 저장공간이 가득 찼는데 내용을 넣으려고 할 때에 생기는 일이고, 스택언더플로우는 스택 저장공간이 비어있는데 내용물을 꺼내려고 할 때 생기는 일입니다. https://codedragon.tistory.com/7948 이는 class가 생성될 때에 Heap영역에 생성이 되고, 해당 주소를 Stack영역에서 참조를 합니다! 추가로 https://velog.io/@cedongne/C-%EA%B0%80%EB%B9%84%EC%A7%80-%EC%BB%AC%EB%A0%89%ED%84%B0 힙 영역은 가비지컬렉터가 관리하게 됩니다. 프로퍼티 표현 방식을 배웠습니다. 식 본문 멤버라는 이름으로도 불리는 듯합니다. https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/statements-expressions-operators/expression-bodied-members TestName은 프로퍼티의 get; set;같은 형태에서 get만 있는 방식입니다. TestHp의 경우는 줄여서 =>로 get을 구현된 방식입니다. 놀랍게도 메소드에도 이것이 가능합니다. 자주 안쓴다고도 말씀주셨습니다.. 멤버변수와 static간에 관계입니다. private static int count로 선언된것이 Data영역으로 가면서 Charcter이라는 클래스의 공통사항이 되었기때문에, count의 값을 증가할때마다 1,2,3이런식으로 증가하게 됩니다. 저것을 활용하면 이런 형태가 가능합니다. get => health는 return 값; 인 것이고 set => health = value는 health에 value를 대입한 것입니다. 추가로 관례상 get,set순서대로 쓴다고 하셨었는데,, 해당 블로그는 찾지 못했습니다. 영어로 검색하면 달랐을수도 있지만,, 포기입니다.. 대신 bing Ai한테 물어봤습니다. 확실히 가독성부분이 설명 주셨던거랑 비슷한 내용이기때문에,, 지금으로써는 가독성때문인 것으로 생각해야겠습니다. 밑에 블로그는 getter,setter를 왜 쓰는지에 관한 내용이고,, https://velog.io/@dltlsgh5/getter-setter-%EC%97%91%EC%84%B8%EC%8A%A4%ED%95%A8%EC%88%98%EC%93%B0%EB%8A%94%EC%9D%B4%EC%9C%A0 다음 블로그는 getter/setter/캡슐화에 관한 내용입니다. 조금 글이 길긴한데, 정말 좋은 내용이 였습니다. https://velog.io/@backfox/getter-%EC%93%B0%EC%A7%80-%EB%A7%90%EB%9D%BC%EA%B3%A0%EB%A7%8C-%ED%95%98%EA%B3%A0-%EA%B0%80%EB%B2%84%EB%A6%AC%EB%A9%B4-%EC%96%B4%EB%96%A1%ED%95%B4%EC%9A%94 생성자 체이닝입니다. 생성자 뒤에다가 : this()를 붙이면 또 다른 생성자 실행이 가능합니다. Test()부분이 실행된 모습입니다. https://m.blog.naver.com/cdw0424/221637869431 시험삼아서 부모에 걸어봤는데 성공하였습니다. 추후 정확한 개념도 조사해봐야겠습니다. https://blog.hexabrain.net/141 기본(디폴트) 생성자입니다. 만약 생성자가 만들어지면 기본 생성자는 없어지므로 new Test()의 형태는 에러가 뜰 것입니다. 상위 클래스에서 ToString()을 오버라이드 했으므로 player.ToString()을 쓰게되면 정보가 출력됩니다. 하지만 그냥 player.ToString()이 자동으로 실행됩니다! F5키를 통해 디버깅 모드를 실행합니다. 그리고 유니티내에서 컨트롤 + P를 통해 실행합니다. 디버그를 시작하고 유니티에서 플레이 누르면 해당 화면처럼 중단점에서 멈추게 됩니다. 데이터는 자동쪽에 나오게 되고 , 호출스택의 내용을 더블클릭하면 해당 영역으로 이동됩니다. 조사식1은 해당 부분에서 추가 가능합니다. 추가로 시프트 + F5로 종료 가능합니다. 반대로 F5키를 통해서 디버그 모드에 진입합니다. 감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다