• 검색 결과가 없습니다.

강의자료실 - 자료실 - 언장광장(삼척) - KNU광장 - 강원대학교

N/A
N/A
Protected

Academic year: 2021

Share "강의자료실 - 자료실 - 언장광장(삼척) - KNU광장 - 강원대학교"

Copied!
15
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

김범수

강원대학교 IT대학 컴퓨터학부 컴퓨터과학전공

컴퓨터 프로그래밍 응용

(2)

const 객체

• 변수, 함수, 객체에 const 키워드를 붙여서 상수로 선언

• const가 붙은 객체를 사용하는 목적은 객체의 값이 변경되는 것을 금지하여 보호하기 위함

(3)
(4)

const 멤버 함수

• 멤버 변수의 값을 변경하지 않는 멤버 함수인 경우에만 const 함수 로 선언 • 함수가 호출핚 객체를 변경하지 않는다는 의미로 함수 소괄호() 뒤 에 const 키워드를 넣음 void 함수 이름(매개변수 리스트) const; • mutable 변경 가능 타입  const 멤버 함수에서 멤버의 값을 변경해야 하는 경우, 클래스의 멤버 앞에 mutable 키워드를 붙여서 멤버의 값이 변경 가능하도록 함  mutable은 저장 공간 지정자, 캐스트 연산자처럼 타입 변홖이 가능하도 록 특정 객체들의 상수성을 오버라이드 핛 수 있음

(5)

static 멤버 변수

• static 멤버 변수는 정의핚 클래스에는 속하지만, 해당 클래스의 객 체에는 속해 있지 않는 멤버를 쓸 수 있도록 핛 때 사용 • 프로그램이 끝날 때까지 모든 객체에 의해 공동으로 사용핛 필요가 있는 멤버는 정적 멤버로 선언 static 타입 멤버 변수; • static 멤버는 클래스 자체나 젂체 객체에 관련된 정보, 즉 젂체 학생 수 카운트나 젂체 객체 수, 젂체 회사명 등을 보관하는 경우에 유용 • ‘객체명.멤버 변수명’을 사용핛 수 없음 타입 클래스명::젂역 변수명 [=초기값];

(6)
(7)
(8)

객체 포인터

• 일반 데이터 타입과 같게 객체도 포인터를 사용핛 수 있음 클래스명 *객체명; • 객체 포인터에 다음과 같이 주소 연산자(엠퍼샌드 &)를 붙인 객체 로 시작 주소를 대입하여 멤버에 접근핛 수 있음 객체 포인터명 = &객체명; • 멤버 변수에 접근하려면, 화살표 연산자(->)를 사용하여 참조 객체 포인터명 ->멤버 변수명 [=값];

(9)
(10)
(11)

클래스 상속(1/2)

• 프로그램을 작성핛 때마다 클래스를 새로 정의하는 것보다 핚 번 작 성핚 클래스를 재사용하는 것이 좀더 효율적으로 유지 보수를 하는 방법 • 클래스를 재사용하기 위해 가장 널리 이용하는 방법은 클래스를 상 속하는 것  정의핚 클래스를 기본으로 해서 기본 클래스의 멤버(변수, 함수)를 상 속 받아 기존의 클래스에서 사용하던 멤버(기능이나 특성)를 공통으로 갖는 것  다른 멤버 변수와 멤버 함수를 추가하여 확장핚 다른 클래스를 만든 후 계층적으로 상속 class 파생 클래스명:[접근 지정자] 기본 클래스명 { 추가핚 멤버; }; 파생 클래스 정의

(12)

클래스 상속(2/2)

• 부모 클래스는 공통적인 부분을 구현핚 것, 기본 클래스 또는 슈퍼 클래스라고 함 • 자식 클래스는 자싞만의 고유핚 행동을 구현하기 위해 상속받는 것 을 갱싞하거나 다른 기능을 추가핚 것으로, 파생 클래스 또는 서브 클래스라고 함 • 부모 클래스에서 접근 지정자를 private으로 선언하면, 상속해도 private 속성을 갖는 멤버는 상속되지 않아 멤버 변수들을 참조핛 수 없음  부모 클래스의 멤버 중에서 외부에 비공개하고 상속된 클래스에서만 참조하려면, 접근 지정자를 private가 아니라 protected로 선언

(13)

Kangwon National University

생성자 호출

• 생성자와 소멸자는 상속되지 않음 • 파생 클래스로 되어 있는 객체를 생성하면, 기본 클래스의 생성자가 먼저 호출되어 초기화되고, 파생 클래스의 생성자가 호출되어 초기 화됨 • 소멸자는 파생 클래스의 소멸자가 호출되어 마무리 작업을 핚 후 기 본 클래스의 소멸자가 호출되어 마무리 작업 클래스명::클래스명(식):멤버 변수(식) { 문장; }; 파생 클래스명::파생 클래스명(식):기본 클래스명(식) { 문장; }; 13 클래스의 멤버 변수 초기화하기 기본 클래스 초기화를 갖는 생성자

(14)
(15)

참조

관련 문서

두 쌍의 대각의 크기가 각각 같은

[r]

두 쌍의 대각의 크기가 각각 같은

서로 다른 클래스 객체들 사이의 대입 상속 관계인 객체와 포인터의 관계 가상 함수.. 가상

• 애플리케이션의 여러 자원들과 메인 프레임 클래스, View 클래스, Document 클래스 등을 하나의 묶 음으로 가지는

[r]

 클래스는 필드와 메소드로

상속에 의한 클래스 인스턴스의