C++

6주차

kimbh 2023. 10. 12. 16:52

실습 1 비주얼 스튜디오에서 만들어주는 c++ 기본 소스

실습 2 C 구조체 vs C++ 클래스

c언어의 구조체와 c++의 클래스 차이점이다.

c언어의 구조체에서는 변수만 다룰 수 있지만,  c++에서는 변수, 함수도 같이 다룰 수 있는 차이점이 있다.

실습 3 구조체 실습

c언어에서는 struct Man kim이라고 써야하지만 c++에서는 struct 를 사용하지 않아도 됨.
c언어에서는 변수만 넣을 수 있는데, c++은 구조체 안에 함수도 넣을 수 있다.

(참고)

c++에서는 포인터로 구조체를 할 경우 " .(구조체 변수) "가 아닌 " ->(포인터 변수) "로 바꿔야 한다.

실습 4 구조적 프로그래밍과 객체지향 프로그래밍의 차이점.

구조적 프로그래밍 스타일을 설명하는 부분이다.

함수 단위로 각각 역할을 만들어서 메인 함수에 출력시키는 "구조적 프로그래밍 스타일"방식이다.

이 방식으로 아직도 잘 사용중이지만 부족한 부분을 객체지향 프로그램으로 하고 있다.

객체 지향(OOP)에는 데이터(필드)와 함수가 있는데, 프로포티라는 단어를 쓰는 언어가 있는 것이 특징이다.  

구조적 프로그래밍에서는 자료와 데이터를  처리하는 방식을 따로 표현하는 방식이고, 객체지향프로그래밍에서는 자료와 데이터를 묶어서 표현하는 방식이다.

"클래스"는 쉽게 설명하면 설계도이고, 이 설계도로 틀을 만들어서 집을 만드는게 "객체"이다

클래스(개)로 부터 객체를 만들고, 실제로 만들어진 객체들을 인스턴스라고 부른다. 객체와 인스턴스를 같이 부르는 언어가 있지만 같이 안부르는 언어도 있다.

 

객체는 구체적이고 실제 존재하는 하나여야 하기 때문에.

자동차로 예를 들면, 1. 객체 - 내 소나타, 아빠 벤츠, 엄마 람보르기니 등과 같은 구체적이고 실제 존재 하는것들을 객체라고 한다.

객체지향의 중심기술 3가지를 나타내고 있다.

캡슐화(클래스와 객체), 상속성(클래스의 상속), 다형성(중첩과 중복) 등이 객체지향의 중심기술 3가지 이다.

캡슐화(ADT-Abstraction Data Type) - 추상자료형이라고도 불리고, 자료와 연산이 한 클래스로 결합된다는 의미이다. 자료에 대한 수정/참조는 객체 내에서만 이루어진다.
다형성에 대한 설명이다. 하나의 함수 이름(함수 중첩)이나 연산자(연산자 중첩)를 여러 목적으로 사용하는 것이 특징이다.

 

실습 5 클래스 다이어그램을 만들고 구성해서 출력해보기.

약식 클래스 다이어그램 그리기
클래스 구성 및 출력

 

 

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

C++ 8주차  (0) 2023.11.02
C++7주차  (0) 2023.10.19
5주차  (0) 2023.10.05
C++ 3주차  (0) 2023.09.21
C++ 기본  (0) 2023.09.14