객체로 캡슐화되어 있음
부품을 만들어준다.
접근 제어 가능( / / )
get, set 메소드를 구현해서 사용.
(외부로부터 보호하는 목적으로.)
클래스는 객체를 만들 수 있는 틀. -학생
학번, 이름, 이메일, 전공, 주소 등 정보를 가지고 있다.
프로그램에서 필요한 정보들만으로 생성??
속성과 멤버함수들을 넣어서 정의를 하면 new Student
어쩌구저쩌구ㅠㅠㅠ
매번 정의할 필요없이 s1, s2, ... 모두가 사용할 수 있다.
-> Encapsulation
:이거 찾아보면 되겠다.
class만 바꾸면 모든 학생에게 적용->유지보수생산성 높이는 기술
하위 클래스에서 상속을 받아서 쓸 수가 있다.
주요 기능: 캡슐화/ 상속
대학원생이라는 클래스를 만들거야
학생이라는 클래스를 상속받아서 추가적인 속성, 멤버함수(메소드)를 만들어주면 된다. 재사용성.
객체지향 특성-
다형성
부모클래스에 있는 함수인데
overloading과 overriding(상속)의 차이 찾아보세요.
제네릭 프로그래밍을 지원하고 있다.
add 함수 중복
-> 하나만 정의해두고 ~~저쩌구
제네릭 함수와 제네릭 클래스
template 키워드로 선언
사용률이 늘어는 기능이다.
C를 모두 사용한다.
->캡슐화가 무너지는 이유임
부작용
단점
->포인터 사용.
소스 파일 -> 컴파일->목적하일->링킹->실행파일->실행->오류가 있으면 디버깅해서 다시 컴파일 시킨다.
표준 라이브러리 3개로 나눠남
using namespace std;
이거 쓰면 std를 앞에 안 써도 됨.
std::
:: 스콥을 정해줄 때 쓴대.