728x90

상속 4

C#4. 메소드, 클래스, 접근한정자, 상속

C#메소드(Method)일련의 코드를 하나의 이름 아래 묶은 것이다.이렇게 묶은 코드는 메소드를 호출하는 것으로 실행 가능하다.함수, 프로시저, 서브루틴과 다른점은 클래스안에 존재 한다는 것이다.값에 의한 전달(Pass by value)메소드를 호출할 대 데이터를 복사해서 매개변수에 넘기는 것을 의미한다.참조에 의한 매개변수 전달(Pass by reference)매개 변수가 메소드에 넘겨진 원본 변수를 직접 참조한다. 따라서 메소드 안에서 매개변수를 수정하면 이 매개변수가 참조하고 있는 원본 변수에 수정이 이뤄진다.ref 키워드를 매개변수 앞에 붙여준다.메소드의 결과를 참조로 반환하기(ref return)참조 변환 값을 이용하면 메소드의 호출자로 하여금 반환 받은 결과를 참조로 다룰 수 있도록 한다.re..

언어/C# 2024.07.17

24.07.17 C#

C#메소드(Method)일련의 코드를 하나의 이름 아래 묶은 것이다.이렇게 묶은 코드는 메소드를 호출하는 것으로 실행 가능하다.함수, 프로시저, 서브루틴과 다른점은 클래스안에 존재 한다는 것이다.값에 의한 전달(Pass by value)메소드를 호출할 대 데이터를 복사해서 매개변수에 넘기는 것을 의미한다.참조에 의한 매개변수 전달(Pass by reference)매개 변수가 메소드에 넘겨진 원본 변수를 직접 참조한다. 따라서 메소드 안에서 매개변수를 수정하면 이 매개변수가 참조하고 있는 원본 변수에 수정이 이뤄진다.ref 키워드를 매개변수 앞에 붙여준다.메소드의 결과를 참조로 반환하기(ref return)참조 변환 값을 이용하면 메소드의 호출자로 하여금 반환 받은 결과를 참조로 다룰 수 있도록 한다.re..

8. 상속과 다형성

객체 포인터 변수 : 객체의 주소 값을 저장하는 포인터 변수 클래스 포인터는 포인터 객체뿐만 아니라, 클래스를 상속하는 유도 클래스의 객체도 가리킬 수 있다 C++에서, AAA형 포인터 변수는 AAA 객체 또는 AAA를 직접 혹은 간접적으로 상속하는 모든 객체를 가리킬 수 있다.(객체의 주소 값을 저장할 수 있다.) 함수 오버라이딩(Function Overriding) - 함수 재정의 오버라이딩이 된 기초 클래스의 함수는, 오버라이딩을 한 유도 클래스의 함수에 가려진다. C++ 컴파일러는 포인터 연산의 가능성 여부를 판단 할 때, 포인터의 자료형을 기준으로 판단하지, 실제 가리키는 객체의 자료형을 기준으로 판단하지 않는다. 포인터 형에 해당하는 클래스에 정의된 멤버에만 접근이 가능하다. 가상함수의 선언은..

언어/C++ 2023.01.26

7. 상속(Inheritance)의 이해

기능의 처리를 실제로 담당하는 클래스 - ‘컨트롤(Control) 클래스’ 또는 ‘핸들러(Handler) 클래스’ A 클래스가 B 클래스를 상속하게 되면, A 클래스는 B 클래스가 지니고 있는 모든 멤버를 물려받는다. 즉, A 객체는 A 클래스에 선언된 멤버 외 B 클래스에 선언 된 멤버도 존재하게 된다. A 클래스 상위 클래스 기초(Base) 클래스 슈퍼(Super) 클래스 부모 클래스 B클래스 하위 클래스 유도(Derived) 클래스 서브 클래스 자식 클래스 기초와 유도라는 말을 자주 사용한다. 유도 클래스의 객체생성 과정에서 기초 클래스의 생성자는 100% 호출된다 유도 클래스의 생성자에서 기초 클래스의 생성자 호출을 명시하지 않으면, 기초 클래스의 void 생성자가 호출된다. 클래스 멤버는 해당 ..

언어/C++ 2023.01.26
728x90