본문으로 바로가기

2020/06/30 C#

category 스마트팩토리/C# 2020. 6. 30. 18:39

여기서 MethodTest()은 쓰면 Main 메소드는 잠시 멈추고 MethodTest()쪽으로 가서 그쪽 메소드를 호출한다.

그리고 retrun을 넣어주면 호출했던 곳으로 돌아가라는 뜻이므로 넣어준다, 안넣어주면 컴파일러가 알아서 넣어준다.

메소드가 되돌아갈때 아무것도 안들고가면 void를 사용한다.

 

C#은 모든것이 클래스이다.

 

객체 이름 대신에 클래스 이름을 사용할수 있다.
객체이름.메소드이름으로 호출해야 하는게 원래이다.

 

메소드 안에 메소드를 호출하는 경우를 나타낸경우

 

여기서 unInitVar는 지역변수를 선언했지만 값을 넣지 않아서 쓰레기값이 들어간다. 그래서 출력이 안된다.

메소드 변수이기에 출력이 안된다.

이에 반해 클래스 변수는 아무것도 넣지 않으면 자동으로 0이 들어간다.그래서 출력이 가능한다.

하지만 C언어는 출력이 된다.

static을 붙이고 안붙이고의 차이
classcari1은 클래스 소속이라 전체에서 하나밖에 없음
클래스가 존재해야 존재하기에 프로그램 시작하면 끝까지 존재
메모리를 계속 점유하고 있다. 그래서 최소한만 만들어서 사용한다.

classvari2은 객체 소속이다. 객체가 존재해야 존재하는 존재이다.
객체를 안쓰게 되면 메모리를 사용하지 않기 때문에 메모리 관리에 유용하다.

 

변수는 지역, 클래스, 인스턴스(객체변수) 총 3가지가 있다.
지역 변수는 {}안에만 살아있다.
클래스는 프로그램 끝날때까지 간다.
인스턴스(객체변수)가 살아있을때 까지 간다.(객체 수명과 같이 간다)

 

6구문에 나온것을 그림을 설명한것이니 보고 확인 바람

 

값 전달
1. 값 변수
2. 참조형 변수
참조전달
3. 값
4. 참조형 변수

2번과 4번은 비슷한 구문이다.

 

 

값 전달의 값 변수를 나타내는 구문이다.

 

값 전달에 참조형 변수를 전달하는 구문이다.

힙 영역의 자료를 수정할때 사용

 

참조전달에 값 변수를 전달하는 구문이다.

main의 변수를 변경할때 사용한다.

참조전달에 참조형 변수를 전달하는 구문이다.

Increase에서 VarRef는 pr이다

레퍼런스 = ref

'스마트팩토리 > C#' 카테고리의 다른 글

2020/07/15 C#  (0) 2020.07.15
2020/07/01 C#  (0) 2020.07.01
2020/06/29 C#  (0) 2020.06.29
2020/6/26 C#  (0) 2020.06.26
2020/06/25 C#  (0) 2020.06.25