반응형

소스 코드 353

[C#] 5.1.3 메서드와 매개 변수 전달 방식

5.1.3 메서드와 매개 변수 전달 방식 메서드는 수행해야 할 작업에 대한 코드가 있는 블록입니다. 메서드는 이름과 수행에 필요한 입력 매개 변수와 수행한 결과 형식을 선언하고 블록 내에서 수행할 코드를 정의해야 합니다. 메서드의 입력 매개 변수는 여러 개가 올 수 있으면 콤마를 통해 구분하게 됩니다. 그리고 반환 형식은 하나만 정의할 수 있으며 필요가 없으면 void 로 선언합니다. int DoAny(int a, int b){ return a + b;} 입력 매개 변수는 전달하는 방법에는 값으로 전달하는 방법과 참조로 전달하는 방법이 있습니다. 선언문에 단순히 형식과 변수 이름만 명시하면 값을 복사하여 전달되며 out이나 ref를 명시하면 참조로 전달됩니다. 값을 복사하여 전달하면 호출한 곳의 변수와 ..

[C#] 5.1.2 멤버 속성

5.1.2 멤버 속성 멤버 속성은 멤버 필드에 있는 값을 얻어오거나 변경할 때 사용할 수 있게 제공하는 특별한 메서드입니다. 멤버 속성을 캡슐화하기 위해서는 형식과 속성 명을 선언하고 전용 필드의 값을 얻어올 때 사용하는 get 블록과 설정하는 set 블록을 선택적으로 정의할 수 있습니다. 각 블록에서는 메서드처럼 내부에서 수행할 작업에 대한 코드를 작성할 수 있으며 필요에 따라 get 블록과 set 블록의 접근 한정을 다르게 지정할 수도 있습니다. get 블록에서는 선언한 형식을 반환해야 하고 set 블록에서는 value 이름으로 전달된 값을 사용할 수 있습니다. using System; namespace Ex_MemberProperty { class Man { public string name; //..

[C++] 87. 최종 실습 - 소스 코드

[C++] 87. 최종 실습 - 소스 코드 68. 최종 실습 - 개발 공정 및 시나리오69. 최종 실습 - 요구 분석 및 정의70. 최종 실습 - 설계1(클래스 다이어그램)71. 최종 실습 - EHNARA 뼈대72. 최종 실습 - 프로토 타이핑73. 최종 실습 - 확장 가능한 순차 배열74. 최종 실습 - 클래스 추가하기75. 최종 실습 - 초기화 및 해제화76. 최종 실습 - 학생 생성77. 최종 실습 - 학생 이동78. 최종 실습 - 전체 보기79. 최종 실습 - 학생 복귀80. 최종 실습 - 강의 시작81. 최종 실습 - 도서관 가기82. 최종 실습 - 소등83. 최종 실습 - 거실로 가기84. 최종 실습 - 파티85. 최종 실습 - 노래방 가기86. 최종 실습 - 다이어그램 //ehglobal.h..

[C++] 83. 최종 실습 - 거실로 가기

[C++] 83. 최종 실습 - 거실로 가기 이번에는 거실로 가기 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 거실로 가기에서는 학생을 선택하여 학생의 Relax를 수행하게 합니다. 각 장소에서는 해당 장소에서 명령할 수 있는 기능만 보이게 한정하였기 때문에 IRelax 인터페이스 형식으로 학생 개체에 접근해야 합니다. 그리고 선택한 학생이 마법 학생이면 Travel 기능을 수행하게 합시다. 물론 학생을 선택하기 위해서는 사용자에게 주민번호를 입력받아 컬렉션 내에 유닛과 비교하는 부분이 있어야 합니다. 이 부분은 이미 기반 클래스 Place에 구현하였기 때문에 이를 활용합니다.IRelax 인터페이스에 Relax 메서드를 순수 가상 메서드로 약속하세요.interface I..

[C++] 82. 최종 실습 - 소등

[C++] 82. 최종 실습 - 소등 이번에는 소등 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 소등 기능은 주거지에 있는 모든 학생의 Sleep을 수행하게 합니다. 그런데 각 장소에서는 해당 장소에서 명령할 수 있는 기능만 보이게 한정하였기 때문에 IRelax 인터페이스 형식으로 학생 개체에 접근해야 합니다.그리고 IRelax 인터페이스에 Sleep 메서드를 순수 가상 메서드로 약속하세요. interface IStudy { virtual void Sleep()=0; }; 주거지의 TurnOff 기능을 구현합시다. void Village::TurnOff()//소등 { cout

[C++] 81. 최종 실습 - 도서관 가기

[C++] 81. 최종 실습 - 도서관 가기 이번에는 도서관 가기 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 도서관 가기에서는 학생을 선택하여 학생의 Study를 수행하게 합니다. 각 장소에서는 해당 장소에서 명령할 수 있는 기능만 보이게 한정하였기 때문에 IStudy 인터페이스 형식으로 학생 개체에 접근해야 합니다. 그리고 선택한 학생이 학사 학생일 때는 Reading 기능을 수행하게 합시다. 물론 학생을 선택하기 위해서는 사용자에게 주민번호를 입력받아 컬렉션 내에 유닛과 비교하는 부분이 있어야 합니다. 이 부분은 이미 기반 클래스 Place에 구현하였기 때문에 이를 활용합니다.IStudy 인터페이스에 Study 메서드를 순수 가상 메서드로 약속하세요.interfac..

[C++] 79. 최종 실습 - 학생 복귀

[C++] 79. 최종 실습 - 학생 복귀 이번에는 학생 복귀 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 학생 복귀 보기에서는 장소에 있는 학생을 선택하여 IComeBack 개체를 이용하여 복귀하게 합니다. 이를 위해 장소에 있는 학생 중에 사용자가 입력한 PN과 일치하는 학생을 찾는 부분이 필요합니다.먼저 IComeBack 인터페이스에 ComeBack 메서드를 약속하세요. interface IComeBack{ virtual void ComeBack(Man *man)=0;}; 그리고 IComeBack 인터페이스에서 파생한 EhNara에 이를 재정의해야겠죠. 먼저 클래스에 메서드를 선언하세요.class EhNara:public IComeBack{ ...중략...publi..

[C++] 77. 최종 실습 - 학생 이동

[C++] 77. 최종 실습 - 학생 이동 이번에는 학생 이동 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 시나리오를 보면 먼저 이동할 장소를 선택하고 이동할 학생을 선택합니다. 그리고 해당 장소로 학생을 이동합니다.만약 이동할 장소가 학교일 때는 처음 온 학생인지 확인하여 학번을 부여합니다. 처음 온 학생이라면 학번이 0일 것입니다. 이럴 때는 학번을 부여합니다.EhNara의 멤버 MoveStudent를 구현합시다. void EhNara::MoveStudent() //학생 이동{먼저 이동할 장소를 선택합니다. Place *place = SelectPlace();//이동할 장소 선택잘못 선택하였을 때 메시지를 출력하고 메서드를 끝냅니다. if(place==0)//잘못 선..

[C++] 76. 최종 실습 - 학생 생성

[C++] 76. 최종 실습 - 학생 생성 이번에는 학생 생성 기능에 관해 시퀀스 다이어그램을 작성하고 난 후에 구체적인 코드를 구현합시다. 시나리오를 보면 먼저 최종 사용자로부터 학생 유형과 이름을 입력받습니다. 그리고 학생 공장에게 학생을 만들어 줄 것을 요청하면 학생 공장에서 학생을 생성하여 반환합니다.이제 이 부분을 구현해 봅시다. 먼저 EhNara 클래스에 학생을 보관할 수 있는 컬렉션을 멤버 필드로 추가하세요.class EhNara:public IComeBack{ ...중략... SeqArray base; ...중략...}; 이제 EhNara 클래스의 멤버 MakeStudent 메서드를 구현합시다. void EhNara::MakeStudent() //학생 생성{최종 사용자가 생성할 학생 유형을..

[C++] 74. 최종 실습 - 클래스 추가하기

[C++] 74. 최종 실습 - 클래스 추가하기 이제 클래스를 추가하고 클래스 사이의 관계에 따라 헤더 파일을 포함합시다. 여기에서는 헤더 파일에 포함문을 작성하는 것 까지만 할 거예요.클래스 다이어그램을 보면서 클래스를 추가하세요. 현재 EhNara, Place, Downtown, School, Village 클래스를 추가한 상태죠. 앞에서 작성한 확장 가능한 순차 배열인 SeqArray 템플릿 클래스를 추가하세요. 그리고 상속과 다형성 최종 실습에서 작성한 프로그램에서 Student, MStudent, SStudent, PStudent 클래스를 이용할게요. 소스 파일과 헤더 파일을 복사하여 프로젝트에 추가하세요. 이 외에 Man, IStudy, IRelax, IPlay를 추가하세요. 그리고 이를 기반..

반응형