Develop Dairy/C#
[Csharp] Stateful versus, stateless methods 상태 저장 및 상태 비저장 메서드 (2021. 01. 21)
평생코딩
2021. 1. 21. 00:10
상태 비저장 메서드(정적 메서드):
메모리에 저장된 값을 참조&변경하지 않고 작동할 수 있도록 구현
ex) Console.WriteLine() 메서드는 메모리에 저장된 값을 사용하지 않아, 애플리케이션 상태에 어떠한 영향도 주지 않고 해당 기능을 수행한 후 종료
상태 저장 메서드(인스턴스 메서드):
이미 실행된 이전 코드 줄에서 메모리에 저장 된 값을 사용& 메모리의 값을 업데이트, 새 값 저장하여 애플리케이션 상태를 수정
이러한 메서드를 인스턴스 메서드 라고도 함.
- 클래스에 정의된 변수인 '필드'에서 해당 상태를 추적, 클래스의 새 인스턴스마다 상태를 저장할 고유한 필드 복사본이 있습니다.
상태 저장 메서드 사용법:
- 단일 클래스에서 저장, 비저장 메서드 모두 지원할 수 있다. 그러나, 상태 저장 메서드를 호출해야 하는 경우, 메서드가 상태 저장 메서드에 액세스할 수 있도록 먼저 클래스 '인스턴스'를 만들어야 한다.
과정은 아래와 같다.
클래스 인스턴스 = 개체
클래스의 새 인스턴스를 만들려면 new 연산자를 사용.
Random 클래스의 새 인스턴스를 만들어 dice 라는 새 개체를 만드는 코드 줄
new 연산자가 수행하는 몇가지 중요한 작업:
- 먼저 Random 클래스를 기준으로 새 개체를 저장하기에 충분한 크기의 컴퓨터 메모리 주소 요청
- 새 개체를 만들어 메모리 주소에 저장
- dice 변수에 저장할 수 있도록 메모리 주소를 반환.
ClassName.MethodName() 으로 접근
className = dice,
MEthodName = next()
dice.Next(1,7);