객체지향언어(Object-Oriented Programming)

2023. 3. 28. 20:50·C++

객체지향언어의 대표적인 예로는 JAVA, C++, Python, Swift 등이 있다. 절차지향언어에 대조적으로 클래스의 상속이 가능하기 때문에 코드를 재사용 할 수 있어 편리하다. 또한 독립적인 객체로 이루어져 있기 때문에 생산적으로 작업할 수 있고, 유지 및 보수에 용이하다. C와 호환도 가능하다. 하지만 실행 속도가 절차지향언어에 비해 느리다는 단점을 가지고 있다. 

 

1. 객체지향의 꽃 클래스와 객체

- 클래스 : 객체를 정의하는 틀, 설계도

- 객체 : 클래스라는 틀에서 생겨난 실체

- 클래스는 데이터(멤버 변수)와 메소드(멤버 함수)로 구성된다.

 

예시)

class Circle{
	private:
    	int radius;
    public:
    	Circle();
        Circle(int n);
        void setRadius(int n);
    	double getArea();
        ~Circle();
};

 

2. 객체지향의 특성

- 추상화 : 객체들의 공통적인 속성과 기능을 추출하여 모델링이 가능하다.

- 캡슐화 : 데이터와 메소드를 하나로 묶는 것이 가능하며 접근지정자를 통해 데이터를 숨길 수 있다. 

- 상속화 : 부모 클래스의 특성과 기능을 자식 클래스가 물려받을 수 있다(재사용이 가능하다).

- 다형성 : 하나의 기능이 경우에 따라 다르게 작동한다.

(Overloading : 같은 이름의 함수를 '중복 정의'하는 것을 말하며 호출인자에 따라 알맞은 함수를 선택한다.)

(Overriding : 상속관계에서 같은 이름의 함수를 '재정의'하는 것을 말한다.)

'C++' 카테고리의 다른 글

클래스와 객체  (0) 2023.03.28
반복문과 If문 그리고 함수  (0) 2023.03.28
'C++' 카테고리의 다른 글
  • 클래스와 객체
  • 반복문과 If문 그리고 함수
switch_user
switch_user
나의 공부 기록
  • switch_user
    while(true)
    switch_user
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C
      • C++
      • Java
      • Python
      • Web
      • App
      • Security
        • Web Hacking
        • Reverse Engineering
      • DB
      • Machine Learning
      • Computer Science
      • Linux
      • Algorithm
      • 진로
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • velog
    • Github
  • 링크

    • velog
    • Github
  • 공지사항

  • 인기 글

  • 태그

    클래스 외부에 함수 구현
    생성자와 소멸자
    사례 기반 학습
    모델 기반 학습
    웹해킹
    웹
    코드 패치
    ml
    race condition
    비트연산
    디컴파일
    cin.getline
    HTTP
    리버싱
    배치 학습
    HTML
    IDA
    CSS
    SQL
    xss
    Hacking Process
    x64dbg
    머신러닝
    어셈블리
    인터프리팅
    쿠키
    어셈블리어
    Web 기초
    반복문
    SQLi
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
switch_user
객체지향언어(Object-Oriented Programming)
상단으로

티스토리툴바