일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- array
- Kafka
- Call-by-reference
- beans
- 포인터
- 윈도우즈
- jsp
- 자료구조
- OOP
- 악성코드
- query
- C
- 노드
- meta
- UTF-8
- request
- CSS
- 투자
- c++
- System
- CLASS
- JavaScript
- Sort
- java
- HTML
- API
- windows
- algorithm
- function
- WebProgramming
- Today
- Total
hahahia
간단한 Class프로그램을통한 Class의 개념과 특징 본문
클래스의 정의 :
부류를 형성하는 데이터들을 하나로 묶어 그 데이터들을 조작할 변수나 함수들을 포함
클래스의 장점 :
1) 데이터의 은닉(information hiding) : 정보를 은닉할 수 있다.
2) 데이터의 캡슐화(Encapsulation) : 같은 부류의 데이터나 메소드를 묶어서 프로그래밍 할 수 있음.
클래스의 구성 :
데이터(멤버변수) + 메소드(멤버함수)
클래스의 접근 :
1.public
- 어느곳에서나 접근가능
- 멤버변수에 접근하는 검증된 메소드들을 public로 선언함.
2. private
- 클래스 내부에서의 접근만 허용함
- 데이터은닉을 위해 멤버변수를 private로 선언함
클래스의 사용 :
클래스를 사용하기위해서는 정의된 클래스로부터 객체를 생성해야한다(object)
ex )
int a; ==================== Date date;
멤버함수의 정의 :
- 선언은 클래스 내부에서 하며 정의는 코드의 가독성을 위해
외부에서 한다.
ex ) Date::getDay()
{
함수의 내용;
}
#include <iostream>
#include <string>
using namespace std;
class Date{
public:
Date(int ,int , int); // Constructor
void setMonth(int); // member Function
int getMonth();
void setDay(int);
int getDay();
void setYear(int);
int getYear();
void DisplayDate();
private: // members
int month;
int day;
int year;
};
Date::Date(int a, int b, int c)
{
setMonth(a);
setDay(b);
setYear(c);
}
void Date::setMonth(int a){
if(a>= 1 && a<=12)
month=a;
else
month=1;
}
int Date::getMonth() { return month; }
void Date::setDay(int b) { day=b; }
int Date::getDay() { return day; }
void Date::setYear(int c) { year=c; }
int Date::getYear() { return year; }
void Date::DisplayDate() { cout << month << "/" << day << "/" << year << endl; }
int main()
{
Date date(123, 2, 2011); // make Object
cout << "Month : " << date.getMonth() << endl;
cout << "Day : " << date.getDay() << endl;
cout << "Year : " << date.getYear() << endl;
date.DisplayDate();
return 0;
}
'Language > C++' 카테고리의 다른 글
Operator Overloading(연산자 오버로딩) (0) | 2012.09.01 |
---|---|
1주차 (0) | 2011.06.27 |
Class GradeBook Using an Array to Store Grades (0) | 2011.05.25 |
재귀함수를 이용한 fibonacci (0) | 2011.05.17 |
5주차 객체 과제 (0) | 2011.05.10 |