C++_OOP1

gimmicks_u·2022년 3월 31일
0

C++

목록 보기
1/5
post-thumbnail

객체지향 프로그래밍

Object Oriented Programming

구조적 프로그래밍과 객체지향 프로그래밍

구조적 프로그래밍방식은 순차적, 하향식 및 폭포수 방식이라고도 하며, 기능적인 기본단위는 함수이다.

객체지향 프로그래밍의 기능 단위는 객체이며, 사용자의 요청에 의해 처리되는 구조이다.

추상화(Abstraction)

<-> 구체화

라는 본질과 삽살개, 진돗개, 치와와같은 구체적인 개들의 관계. 코드의 유연성과 효율성을 위해 공통점들을 뽑아 추상화한다.

캡슐화(Encapsulation)

데이터 은닉. 외부에서 내부를 볼 수 없게 한다는 의미이다. 외부로부터 데이터를 조작할 인터페이스가 필요하다.

클래스 = 데이터 + 메소드(멤버 함수)

다형성(Polymorphism)

함수의 이름이 같더라도 전달 인자 타입, 개수 등에 따라 구분, 오버로딩(Overloading)과 오버라이딩(Overriding)기법이 있다.

오버로딩(Overloading)

사전적 의미는 과적하다, 적재하다라는 의미이다. 겉모습은 똑같지만 내용이 다른 경우이며, 이름이 같은 함수일지라도 전달인자 타입이나 개수가 다른경우를 말한다.

int Plus(int a, int b)
{
    return a + b;
}

char Plus(char a, char b)
{
    return a + b;
}

double Plus(double a, double b)
{
    return a + b;
}

오버라이딩(Overriding)

올라타다, 엎어친다라는 의미로, 무언가에 올라타서 기존의 것을 덮어버린다는 개념이다. 상속의 개념이 기반되어야한다.

상속받은 것들 중, 필요한 기능을 재정의(덮어쓰기)하는 개념이다.

상속성(Inheritance)

이미 완성된 기능에 새로운 기능을 더해 새로운 객체를 만들 때, 모든 기능을 입력할 필요 없이 완성된 기능을 상속받아 사용할 수 있다.

접근 지정자   클래스이름 : 부모 클래스
{
	//멤버 목록
}
profile
Done is better than perfect

0개의 댓글