인프런 커뮤니티 질문&답변

유재우님의 프로필 이미지
유재우

작성한 질문수

Razor Pages 멤버십 서비스 초급과정(.NET5)

ApplicationUser에 변수들 추가

Guid에 관하여

작성

·

221

0

안녕하세요.

강의 잘 듣고 있습니다.

완전 초보자여서 저에게는 용어들, 메소드 들 등이 생소하기에 난이도가 있습니다. ㅜㅠ

Guid 가 어떤 역할을 하기에 이 부분에서 사용되는건지 궁금합니다. 

그리고 더불어 생성자가 2개인데 위의 것은 왜 값이 null인지도 알려주시면 고맙겠습니다.^^

답변 3

1

김정수님의 프로필 이미지
김정수
지식공유자

반갑습니다. 유재우님!

먼저, Guid의 역할에 대해 문의하셨는데요.

간단히 표를 보면서 설명드리겠습니다.

기본키 형식 비교

숫자형 사용시 이해하기 쉬워 보다 편리한 관리가 용이하고,

길이가 짧아 성능에도 좋지만, 노출되었을 때 상대적으로

보안이 취약한 단점이 있습니다.

반면에, Guid형은 길이가 길어 불편하고, 이해하기 힘들고,

숫자형에 비해 성능도 좋지 않지만, 보안측면에서는 숫자형보다

조금 낫습니다.

유일성을 살펴보면, 숫자가 보통 1부터 시작하는데, A회사의 1번회원과

B회사의 1번회원은 당연히 다를 수밖에 없습니다.

그런데, 번호는 1번으로 동일하기 때문에 회원정보를 통합한다고 하면

컬럼을 하나 추가해 관리해야 합니다.

그런데, Guid는 유일하기 때문에 별 무리없이 통합이 가능합니다.

2번 문의사항은 C#의 this 키워드와 관련이 있습니다.

public ApplicationUser() : this(null)

{}

public ApplicationUser(string userName) {

    Id = Guid.NewGuid().ToString();

    UserName = userName;

}

이렇게 파라미터 있는 생성자와 파라미터 없는 생성자가 있을 때,

: this(null) 로 연결해 줌으로써 파라미터 있는 생성자가 실행되도록 하기 위해서입니다.

강의에서 언급한 것처럼 Id 컬럼에 Guid 값을 넣어주는 부분을 한 곳에서 관리하려는 것입니다.

: this 키워드를 사용하여 같은 클래스의 다른 생성자를 호출합니다.

또, 궁금한 것이 있으면 언제든 질문해 주세요.

화이팅입니다.

0

김정수님의 프로필 이미지
김정수
지식공유자

별말씀을요, 즐거운 하루 되시기 바랍니다.

0

유재우님의 프로필 이미지
유재우
질문자

친절한 답변 너무 고맙습니다.^^!!!!

유재우님의 프로필 이미지
유재우

작성한 질문수

질문하기