C++�Programming
한밭대학교 • INFO2118 • Aaron Snowberger
1주차: 수업 소개
Table of Contents
Book
Class
Visual Studio나
Visual Studio Code
1:30 이론, 1:30 실습, …과제
상대평가 있죠~
25% 결석 = F~
Grading
상대평가
(30-40-30 보통)
30% | A+, A0 |
40% | B+, B0 |
30% | C+, C0, D+, D0, F |
Book(s)
라이브러리 중심으로 배우는 C++ 핵심
Core C++ learning with a focus on libraries
C++는 기존 C에서 좀 더 발전한 프로그래밍 언어입니다. 하지만 C를 처음 배웠던 사람은 자칫 C++에서 제시하는 프로그래밍 방법이 아닌 C 프로그래밍을 하던 습관대로 프로그램을 만들려고 할지도 모릅니다.
이 책은 16개 장과 부록 2개를 통해 초중급 프로그래머가 C++를 C++답게 코딩하는 방법을 제대로 알려줍니다. C++ 표준 라이브러리를 이용해 함수, 데이터 구조, 클래스, 상속 등 객체지향 프로그래밍 개념으로 C++ 프로그래밍을 하는 방법을 순서대로 소개합니다.
주차 | 주제 책 |
1 | CHAPTER 0 C++ 시작하기
|
2 | CHAPTER 1 문자열 사용 CHAPTER 2 반복문과 카운팅
|
3 | CHAPTER 3 데이터 일괄 처리 CHAPTER 4 프로그램 및 데이터 구조화
|
4 | CHAPTER 5 순차 컨테이너와 문자열 분석
|
5 | CHAPTER 6 라이브러리 알고리즘
|
6 | CHAPTER 7 연관 컨테이너
|
7 | CHAPTER 8 제네릭 함수
|
8 | 중간고사 |
주차 | 주제 책 |
9 | CHAPTER 9 새로운 타입 정의
|
10 | CHAPTER 10 메모리 관리 및 저수준 데이터 구조
|
11 | CHAPTER 11 추상 데이터 타입
|
12 | CHAPTER 12 값처럼 동작하는 클래스 객체
|
13 | CHAPTER 13 상속과 동적 바인딩
|
14 | CHAPTER 14 메모리 관리 자동화
CHAPTER 15 문자 그림 다시 살펴보기 CHAPTER 16 앞으로 나아갈 방향 APPENDIX A C++ 세부 사항 APPENDIX B 라이브러리 요약
|
15 | 기말고사 |
Aaron
한국 도착: | 2006 |
한국어능력: | 4급 / 6 |
학력: | 2023, 한밭대학교, 정보통신공학과, 박사 2011, Full Sail University, 미국, 미디어 디자인, 석사 2006, University of Wyoming, 미국, 컴퓨터공학, 학사 (자격): 리액트, 컴퓨터비전, 머신러닝, 딥러닝, 자연어 처리, |
온라인 강의: | 2020, 현재 워드프레스 테마 개발 | CSS 입문 |
고등학교 강의: | 2021, 익산 마이스터 고등학교, 파이썬 기초 2013-2019, 국제영재아카데미, 웹프로그래밍, 컴퓨터공학 이론, 컴퓨터 발견, 컴퓨터 A+, 로보틱스, 자바 프로그래밍, 그래픽 디자인, 출판 디자인, 디지털 시민 교육, 중학교 컴퓨터, 수학 |
대학교 강의: | 2023, 교통대학교 (충주), 웹프로그래밍응용 2019-2023, 전주대 / 전북대, 스마트 택: 구글 클래스룸과 메체 만든 기술 2010-2023, 전주대학교, 영어회화 |
C++ 프로그래밍의 첫 걸음 + 시작하기
01
C++의 이해
C++ 프로그램을 작성하는 과정은 크게 4단계인
그런데 각 단계가 항상 순조롭게 진행되는 것은 아니다.
컵파일이나 링크 단계에서 오류가 발생하면 다음 단계로 진행하지 못 하므로 실행 가능한 파일을 얻으려면 오류를 수정해야 한다. 따라서 오류를 수정하려면 각 단계에서 어떤 작업이 일어나는지부터 자세히 살펴볼 필요가 있다.
C++의 이해
Edit (편집)
Compile (컴파일)
어떤 편집기를 사용하는 C++ 소스 파일을 작성한 후 저장할 때는 C++ 소스 파일임을 의미하는 .cpp 확장자를 꼭 붙여야 한다.
C++ 컴파일러가 문법적으로 소스 파일에서 오류가 없음을 확인하면 소스 파일을 기계어 상태로 변경해서 오브젝트 파일(.obj 확장자가 붙는다)을 만들어 준다.
라이브러리의 제공하는 정보(함수와 데이터 구조)를 맞게 올바르게 사용했는지를 링크 단계에서 검사하고 컴파일 단계에서 만들어진 오브젝트 파일을 실행 가능한 파일(.exe)로 만들어 준다.
Link (링크)
이 실행 파일을 콘솔창에서 입력하거나 비주얼 스튜디오에서 제공하는 툴을 이용해 실행시키는 단계가 바로 실행 단계다.
Execute (실행)
C++의 이해
C++는 객체지향 프로그래밍 언어라는 특징이 있다. 그러면 객체지향 프로그래밍과 절차적 프로그래밍을 비교해보자.
OOP (객체지향적)
Procedural (절차적)
C
C++, Java, C#
C++의 이해
Encapsulation + Data Hiding
캡슐화와 데이터 은닉
Polymorphism + Overloading
다형성과 함수의 오버로딩, 연산자 오버로딩
Inheritance
상속성
C++의 이해
C++ 프로그램에서 반드시 존재해야 하는 요소로만 구성되었기 때문에 이중 하나라도 빠지면 컴파일 에러가 발생한다.
비주얼 스튜디오 2022 맛보기 (설치)
앞에서 살펴본 소스파일을 컴파일해서 실행 가능한 파일을 생성하려면 C++ 컴파일러가 필요하다. C++ 프로그램은 MS Visual Studio를 사용하여 제작한다.
비주얼 스튜디오 2022 맛보기 (설치)
비주얼 스튜디오 2022 맛보기 (설치)
비주얼 스튜디오 2022 맛보기 (설치)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
비주얼 스튜디오 2022 맛보기 (프로그래밍)
GitHub Desktop와
과제 제출 방법
00
GitHub 계정 만들거나 로그인
GitHub Desktop 설치
GitHub Desktop에서 로그인
GitHub 계정 설정 확인
GitHub Classroom 링크 받기
과제 받기
과제 받기
과제 받기
GitHub 저장소에서 코드 받기
“Open with GitHub Desktop”하면…
“Open with GitHub Desktop”하면…
“Open with GitHub Desktop”하면…
IDE에서 열기
코딩하고 저장하기
다시 GitHub Desktop으로…
GitHub 으로 푸쉬
와!~~~ 업데이트와 제출을 했다!~~
Thanks
Please keep this slide for attribution