728x90
컴퓨터의 발달로 인해 소프트웨어의 크기가 커지게 되었고, 절차지향언어인 C언어로 소프트웨어를 개발하는 데 어려움이 커지게 되었다. 그래서 C언어에 객체지향특성을 추가하여 만들어진 것이 바로 C++이다. C++는 C언어의 모든 기능을 가진다. 하지만 C언어와의 호환성을 위해서 객체지향특성을 어느정도 절충하여 만들어졌다.
C++는 객체지향언어이므로 캡슐화, 상속성, 다형성의 특성을 가진다. 1학년 때 배웠던 내용들이지만 하나씩 되새겨보자.(C++수업을 들으며 정리한 내용인가보다.. ㅎㅎ)
1.캡슐화
캡슐화는 데이터를 캡슐로 싸서 외부에서의 접근으로부터 보호한다는 의미이다. C++에서 이 캡슐의 역할을 하는 것이 바로 클래스이다. 클래스에서 private로 선언한 변수들을 외부에서 접근할 수 없어 보호되며, public으로 선언한 변수들은 외부에서 접근이 가능하다.
2.상속성
상속성은 자식클래스가 부모클래스의 특성을 물려받는 것을 의미한다. 객체지향언어는 상속성을 통해서 코드의 중복을 줄이고 재사용성을 높인다.
3.다형성
다형성은 하나의 기능이 객체에 따라 다르게 기능하도록 하는 것이다. 다형성은 연산자 오버로딩,함수 오버로딩, 함수 오버라이딩을 통해서 구현된다.
연산자 오버로딩: 기존 연산자에 새로운 연산을 정의
함수 오버로딩: 매개변수의 개수,타입이 다르면 서로 다른 함수로 인식되는 것
함수 오버라이딩: 상속 관계에서 부모 클래스와 자식 클래스에서 다르게 구현되는 것
3학년이 된 나는 더 열심히 정리해보았다. 💪🏻
728x90
'기타' 카테고리의 다른 글
[소프트웨어공학]소프트웨어공학 (0) | 2023.03.19 |
---|---|
[순서도]순서도 그려주는 무료 프로그램 (0) | 2021.07.17 |