2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

C# 의 inheritance 예제



 
다음 구조의 클래스를 구현하시오.
  • 기반 클래스, 파생 클래스의 구조를 설계하고 이를 실행할 수 있는 Main() 메소드가 포함된 콘솔 클래스를 설계한다.
  • 기반 클래스명은 Employee로 하고 이를 상속받는 파생 클래스명은 SalesPerson으로 한다.
  • 기반 클래스에서 구현하는 필드는 이름, 성별, 나이, 부서고  메소드로는 기반클래스의 속성들을 출력하는 메소드를 구현한다.
  • 기반 클래스에서 가상 메소드를 구현한다. 구현할 내용은 직원입니다. 화면에 출력하는 것이다.
  • 파생 클래스는 기반 클래스를 상속받으며 가상 메소드를 재정의해서 영업직원입니다. 라고 화면에 출력하게 한다.
  • 콘솔 클래스에서는 Employee 클래스와 SalesPerson 클래스의 인스턴스를 만들어 각각의 메소드를 실행하는 코드를 구현한다.


[ Soruce ]

using System;

namespace ex1
{
 /// <summary>
 /// Summary description for Class1.
 /// </summary>
 ///
 class Employee // base class
 {
  protected string eName;
  protected string eGender;
  protected uint eAge;
  protected string eDepart;
  public Employee() // constructor
  {
   eName = "동우석";
   eGender = "남성";
   eAge = 426;
   eDepart = "사장";
  }
  ~Employee() // destructor
  {
 
  }
  public void cOut()
  {
   Console.WriteLine("이름 : " + eName);
   Console.WriteLine("성별 : " + eGender);
   Console.WriteLine("나이 : " + eAge);
   Console.WriteLine("부서 : " + eDepart);
  }
  public virtual void vcOut()
  {
   Console.WriteLine("본 구성원은 회사의 대표이사입니다..");
  }
 }
 class SalesPerson : Employee // derived class
 {
  public SalesPerson() // constructor
  {
   eName = "이수영";
   eGender = "여성";
   eAge = 27;
   eDepart = "영업부";
  }
  ~SalesPerson() // destructor
  {
 
  }
  public override void vcOut()
  {
   Console.WriteLine("본 구성원은 영업부의 직원입니다..");
  }
 }
 class cConsole
 {
  /// <summary>
  /// The main entry point for the application.
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   //
   // TODO: Add code to start application here
   //
   Employee hd_employee = new Employee(); // instance base class
   SalesPerson hd_salesman = new SalesPerson(); // instance derived class
   Console.WriteLine("========[Base Class Information]=========");
   hd_employee.cOut();
   hd_employee.vcOut();
   Console.WriteLine("========[Derived Class Information]=========");
   hd_salesman.cOut();
   hd_salesman.vcOut();
  }
 }
}

댓글

이 블로그의 인기 게시물

성공적인 소셜커머스를 위한 10단계 전략

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우