10 C#프로그래밍 함수1, 2 오버로딩, ref , 스택과 힙 컬렉션

1. 10 C#프로그래밍 함수1, 2 오버로딩, .pptx
2. 10 C#프로그래밍 함수1, 2 오버로딩, r.pdf
C# 프로그래밍(메소드)
이를 실행하는 것은 메소드 호출이라고 합니다.
반환하지 않는 메소드
메소드가 없다면?
메소드의 매개 변수는 기본값을 가질 수 있음.
기본값을 가지는 매개 변수는 메소드 호출 시 데이터 할당을 생략할 수 있음
메소드를 호출할 때 매개 변수에 데이터를 넣을 때 일반적으로 순서대로 넣습니다.
각 매개 변수에 따라 이름이 다른 메소드를 정의하여 사용→코드관리 어려움
이를 실행하는 것은 메소드 호출이라고 합니다.
한정자 반환-형식 메소드-이름(매개변수목록)
retu rn메소드-결과;
메소드 결과
반환하지 않는 메소드
retu rn(string)
10의 합을 구해주는 메소드를 작성하세요
public 어디서나 사용이 가능하고 클래스 내, 외부와 파생클래스에서도 클래스 멤버 접근 가능
protected기본 클래스와 파생클래스에서만 접근 가능
그러나 ref 예약어를 사용하면 그 스택 영역 메모리의 주소를 사용하면서 Callbyreference를 사용하게 된다.
ref를 구조체에서 사용하면 클래스처럼 "얕은 복사"로 전달한 것과 같은 효과를 낸다.
out예약어와 ref의 차이점
초기화해도 out인자를 받는 메서드에서 그 값을 사용할 수 없음.
예를 들어 적과 싸울 때 적이 공격을 가하면 그때 hit 변수를 초기화하여 hp를 빼는 데 사용합니다.
ref도 마찬가지로 특정 조건에 이미 생성된 변수값을 바꾸거나 수정할 때 사용합니다.
ref는 매개 변수를 넘기기 전에 값을 초기화해야 됩니다.
out : ref와 맀찬가지로 참조형식의 파라미터 이미지 출력 전용으로 호출하는 입장에서는 초기화값 필요가 없으며, 연산하는 곳에서는 반드시 초기화하여야 한다.
메소드의 매개 변수는 기본값을 가질 수 있음.
기본값을 가지는 매개 변수는 메소드 호출 시 데이터 할당을 생략할 수 있음
메소드를 정의할 경우 동일한 이름을 이용하되 매개 변수의 정보(개수 및 종류)가 달라야 함
메소드의 이름과 입력 매개 변수의 정보(개수 및 종류)를 매소드의 시그니처라고함
각 매개 변수에 따라 이름이 다른 메소드를 정의하여 사용→코드관리 어려움
코드 영역
메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다.
메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역입니다.
스택 영역
메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개 변수가 저장되는 영역입니다.
힙 영역
메모리의 힙(heap) 영역은 사용자가 직접 관리할 수 있는 '그리고 해야만 하는' 메모리 영역입니다.
힙 영역은 사용자에 의해 메모리 공간 이동적으로 할당되고 해제됩니다.
소드, 변수, , 사용, 매개, 영역, , 호출, 메모리, 클래스, 데이터, 할당, 이름, 형식, ref, 파라미터, out, 스택, c, 초기