C++ 클래스, 용어,
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

C++ 클래스, 용어,에 대한 보고서 자료입니다.

목차

1. C언어의 다음 용어 및 개념들에 대해 조사하시오.
(1) C언어에서 지역변수와 전역변수의 차이
(2) C언어에서 배열과 포인터의 상관관계
(3) C언어에서 구조체의 사용법

2. 객체지향 프로그래밍(OOP)에 대해 조사하시오.

3. C++언어의 다음 용어 및 개념들에 대해 조사하시오.
(1) 클래스의 개념
1. 데이터 추상화(Data Abstraction)
2. 캡슐화(Encapsulation)와 데이터 은닉(Data Hiding)
3. 다형성(Polymorphism)
4. 상속성(Inheritance)
5. 코드의 재사용(Reusable code)
(2) public, private, protected, friend 멤버의 차이와 멤버함수(member function), 멤버변수(member variable)와의 상관관계
(3) 오버로딩(overloading)과 오버라이딩(overriding)의 차이

4. 참고문헌 및 출처

본문내용

수를 선언하게 되면, 특별한 멤버함수의 도움없이 다른 객체에서 그 멤버변수를 접근할 수 있다.
접근이라 함은 값을 가져오는 것뿐만 아니라 값을 변경하거나 지우는 것까지를 의미한다.
단 통용 범위 규칙에 의해 지정되는 범위 내에서만 가능하다.
private
‘private' 이라는 키워드를 이용하여 멤버변수를 선언하게 되면, 외부의 어떠한 객체도 그 멤버변수를 접근할 수 없게 된다.
단지 같은 객체 속의 맴버함수만이 그 멤버변수를 접근할 수 있게 된다.
외부의 함수가 접근하는 것을 제한하면서 외부의 함수에 값을 제공해야 한다면 객체 속에 그 멤버변수를 리턴해 줄 멤버함수를 만들어 주어야 한다.
protected
'protected'라는 키워드를 이용한 멤버변수의 경우는 약간 특이하다. 이키워드는 다른 클레스에게는 ‘private'로 선언한 멤버변수처럼 접근제한 기능을 가진다.
자신을 상속받은 후손클래스에게는 ‘publec'으로 선언한 멤버변수처럼 접근을 허용한다.
즉, ‘private' 와 ’public' 양면을 모두 가지고 있는 키워드인 셈이다.
friend
클래스의 private절에서 선언된 멤버를 액세스 할 수 있게 만들어 놓은 멤버 함수가 아닌 함수이다.
아무런 클래스에도 속해 있지 않기 때문에 범위 연산자(::)를 사용하지 않는다.
함수의 구현은 반드시 클래스의 정의밖에 있어야 한다.
프렌드 함수는 객체 데이터를 받아야 하기 때문에 항상 인수 리스트를 포함한다.
2. 멤버함수(member function), 멤버변수(member variable)와의 상관관계
이 름
설 명
멤버 함수
정적 멤버 변수는 객체와 직접적으로 연관된다기보다는 클래스와 연관 되며 생성된 객체가 하나도 없더라도 클래스의 이름만으로 호출할 수 있다.
정적 멤버 함수는 Class::func() 형식으로 호출하며 클래스 전체에 대한 전반적인 작업을 한다. 주로 정적 멤버 변수를 조작하거나 이 클래스에 속한 모든 객체를 위한 어떤 처리를 한다.
정적 멤버 함수를 선언하는 방법은 클래스 선언부의 함수 원형앞에 static이라는 키워드만 붙여 주면 된다.
상수 멤버 함수는 멤버값을 변경할 수 없는 함수이다.
멤버값을 단순히 읽기만 한다면 이 함수는 객체의 상태를 바꾸지 않는다는 의미로 상수 멤버 함수로 지정하는 것이 좋다.
클래스 선언문의 함수 원형 뒤쪽에 const 키워드를 붙여 주면 상수 멤버 함수가 된다.
함수의 앞쪽에서 리턴값의 타입을 지정하기 한다.
멤버 변수
정적 멤버 변수는 클래스의 바깥에 선언되어 있지만 클래스에 속하며 객체별로 할당되지 않고 모든 객체가 공유하는 멤버이다.
개별 객체와는 직접적인 상관이 없고 객체 전체를 대표하는 클래스와 관련된 정보를 저장하는 좀 특수한 멤버이다.
상수 멤버 변수는 한번 값이 정해지면 변경될 수 없는 멤버이다.
클래스 전체에서 참조하는 중요한 상수가 있다면 이를 상수 멤버로 정의하여 클래스에 포함시킬 수 있다
(3) 오버로딩(overloading)과 오버라이딩(overriding)의 차이
1. 오버로딩
멤버함수의 이름이 같고 함수의 파라미터(입력값 또는 인자)가 다른 것을 ‘오버로드’라고 하고 오버로드 하는 일련의 과정을 ‘오버로딩(overloading)' 이라고 한다. 따라서 함수의 중복정의 라고 설명할 수 있다. 한 클래스 내에서 함수 이름은 동일하지만, 함수의 매개 변수(매개 변수의 수, 매개 변수의 타입)가 다른 경우이다.
생산자 오버로딩
클래스가 같은 이름의 여러 개의 생성자를 중첩하여 사용자를 사용할 때 생성자의 이름은 같지만, 반드시 생성자가 가지는 매개변수의 타입과 개수는 달라야 한다.
객체가 생성될 때 지정된 매개변수와 같은 형태의 매개변수를 가진 생성자가 실행되며 생성자 오버로딩을 이용하여 특정 클래스의 객체를 다양한 형태로 초기화할 수 있다.
메소드 오버로딩
같은 클래스에 같은 이름의 메소드를 중첩하여 사용한다. 중첩된 메소드들은 매개 변수의 형과 개수가 다른 형태를 가져야 한다.
또한 다형성을 제공(하나의 메소드 이름으로 다양한 연산을 수행)한다. 중첩된 메소드가 호출되면 매개변수의 형과 개수를 비교하여 적합한 메소드가 실행된다.
2. 오버라이딩
맴버함수 중에는 함수의 시그너쳐까지 동일한 함수가 존재하게 된다. 다시말해 이름 등 모든 것이 동일하고 기능만 다른 함수가 있다는 것인데 , 이것을 ‘오버라이드’라고 부른다.
오버라이드는 주로 조상 클래스와 자손클래스가 동일한 이름과 동일한 파라미터, 동일한 리턴값을 가진 멤버함수를 각각 가지고 있을 때 발생하게 된다. 따라서 함수의 재정의 라고 설명할 수 있다.
오버라이딩은 수퍼클래스의 메소드를 상속받은 서브 클래스에서 똑같은 이름과 반환형, 인자목록을 가지는 다른 메소드로 새로 정의하는 것을 말한다. 그 경우 수퍼 클래스의 메소드는 서브 클래스의 것으로 대체된다. 위에서 설명한 오버로딩과 비록 용어는 비슷하지만 개념이나 구현 방법은 전혀 다르다.
3. 차이점 정리
오버로딩 된 메소드들은 각각 나름대로 계속 사용이 가능하나, 중복된 메소드의 경우는 나중에 정의한 메소드만 사용할 수 있다.
하나의 클래스 내에서 다수의 오버로딩 된 메소드들을 정의할 수 있으나, 중복은 한 하위클래스에서는 한번만 정의할 수 있다.
오버로딩 메소드들의 인자는 서로 조금이라도 달라야 하지만 중복된 메소드들은 모든 인자와 리턴 타입도 반듯이 일치해야 한다.
4. 참고문헌 및 출처(Reference)
1. 서 적: 이것이 C++이다.
저 자: 신재호
발행인: 김길수
발행처: (주)영진닷컴
참고페이지: Chapter 12, 13, 15
2. 서 적: C++:완벽해설서
저 자: Herbert Schildt
역 자: 조국현. 안병호
발행인: 한길만
발행처: 이한 출판사
참고페이지: Chapter 12, 15
3. http://tc.pukyung.co.kr/index.htm
4. http://blog.naver.com/junsoonet/40011127679
5. http://www.winapi.co.kr/clec/cpp1/11-2-3.htm
6. 지식검색
  • 가격1,000
  • 페이지수15페이지
  • 등록일2006.05.10
  • 저작시기2005.9
  • 파일형식한글(hwp)
  • 자료번호#348781
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니