뽕구의 개발일지

[C#] 클래스 - 구조 본문

개발 일지/C#

[C#] 클래스 - 구조

뽕구 2024. 1. 3. 02:47
728x90
반응형

클래스

많은 객체지향 도서에서 클래스의 이해를 돕기 위해 붕어빵 틀과 붕어빵으로 비교하죠~
 
클래스    ==  붕어빵 틀
인스턴스 ==  붕어빵 (개체)
 
현실 세계의 붕어빵 틀을 클래스로 구현하여 붕어빵 개체를 계속 구워(생성)내는 것입니다.
 
객체지향의 클래스 타입은 속성과 행위 를 기본 구조로 가지게 됩니다.
속성은 필드(=멤버 변수), 행위는 메소드(=클래스 함수) 입니다.
 

속성 행위
팥, 슈크림 반죽하기, 붓기, 굽기, 확인하기, 꺼내기

 
대충 이렇게 속성과 행위를 나누어보았습니다. 팥과 슈크림이라고 붕어빵 틀이 나뉘어져있지는 않죠!
 

C# 클래스 구조

C#의 클래스도 참조 형식의 타입을 만드는데 사용됩니다. 다른 객체지향 언어와 기본적으로 동일한 구조이지만, 필요에 따라 Property 라고 하는 개념을 추가할 수 있습니다.
Java나 C++에서는 Getter(), Setter() 메소드를 정의하여 사용하는데 C#에서는 Property를 제공해줌으로써 호출을 위한 메소드 정의를 줄여줍니다. 편리하게 사용할 수 있습니다.
여기서 주의할 점은 Proprety는 속성으로 해석될 수 있습니다. 하지만 객체지향에서의 속성은 필드를 의미하고, C#에서 속성은 Property를 의미합니다.
Visual Studio에서도 클래스 다이어그램 추출 시 Property를 속성으로 표기하고 있으니 참고바랍니다!
 
필드 == 속성 == 멤버변수
속성 == 프로퍼티 == Attribute
메서드 == 클래스 함수
 

구현 예시 (Member Class)

간단하게 아래와 같이 Member 클래스를 구현해 보았습니다.

속성 메서드 Property
authNumber, number, age, id, pw Member()//생성자
SetNumber(),
Number

Member 클래스

 
위 Member 클래스의 클래스 다이어그램입니다.
Visual Studio에서 개별구성 설치로 클래스 디자이너를 설치하면 클래스 다이어그램을 추출할 수 있습니다.

Member 클래스 다이어그램

 
 
아래는 Member 클래스를 Main 클래스에서 개체를 생성한 사진입니다.
 

Main 클래스에서 Member 클래스 개체 생성 및 접근

 
 
Member 클래스 다이어그램에 보면 필드에 authNumber와 number가 있는데, Main 클래스에서 생성된 member 개체에서 접근하려고 하니 필드 목록에 뜨지 않네요.
이유는 위에서 접근 제한자를 protected와 private으로 설정하였기 때문입니다.
자세한 이유는 Member 클래스 정의한 코드 스샷에 주석으로 잘 달아두었으니, 참고해주시면 감사하겠습니다!
 
이번 포스팅에서는 간단하게 C# 클래스 구조에 대해서 알아보았습니다. 
읽어주셔서 감사합니다 :)

728x90
반응형

'개발 일지 > C#' 카테고리의 다른 글

[C#] Thread 쓰레드 - 기본개념  (0) 2025.04.23
[C#] .cs not found  (0) 2024.01.17
[C#] 기본 자료형  (1) 2023.10.31