C++ 이론(4)

2025. 12. 2. 00:03·C++

Object-Oriented Programming

Class

  • class: 사물의 특성, 기능을 하나의 프로그램으로 묶어 표현한 것

  • class는 struct와 유사한 기능을 가짐

  • class의 요소

    • Member variables(a.k.a attribute, 속성) -> field에서 정의
    • Member function(a.k.a method)
  • Constructor(생성자): 클래스는 생성된 객체의 필드를 초기화해주는 특별한 메소드인 생성자를 가짐

  • Modifier(접근제한자): class에서는 접근의 속성을 3가지로 나눔
    private(class 내에선만 접근 가능), protected(상속받은 함수는 접근 가능), public(class 밖에서도 접근 가능)

  • 접근을 제한했을 때의 장점: 외부 코드에 의한 임의 데이터 조작 방지, 외부 사용자가 내부 세부 정보를 무시하도록 함

class Student{
private:   //private 변수 생성
    int id;
    int age;

public:    
    Student(int i, int a){  
        id = i;
        age = a;
    } 
    /* Student(int i, int a):id(i), age(a){}로 축약할 수 있음*/

    GetAge(int a){...} //prototype

};  //class 선언 시에는 마지막에 ;붙여야함!

Object-Oriented Programming Concepts

  • Encapsulation(캡슐화): 데이터를 처리하는 코드로 데이터 바인딩(값 설정)
  • Abstaction(추상화): 필수 정보만 노출
  • Inforamtion hiding(정보 숨기기): 내부 세부 정보에 접근할 수 없게 만듦.

Overloading

  • Overloading(오버로딩): C++은 함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능 -> 함수의 이름이 같아도 매개변수의 갯수나 data type이 다르면 동일한 함수를 여러개 정의 가능
    ex) int myfunc(int n), int myfunc(int a, int b), int myfunc(char c)... 모두 가능!!
    But, int myfunc(int n)이나 void myfunc(int n)과 같이 함수의 반환형으로는 구분이 불가능! error

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

C++ 이론(5)  (0) 2025.12.02
C++ 이론(3)  (0) 2025.12.02
C++ 이론(2)  (0) 2025.12.01
C++ 이론(1)  (0) 2025.11.25
'C++' 카테고리의 다른 글
  • C++ 이론(5)
  • C++ 이론(3)
  • C++ 이론(2)
  • C++ 이론(1)
choisio2
choisio2
sio2-dev 님의 블로그 입니다.
  • choisio2
    SiO2 for Developer
    choisio2
  • 전체
    오늘
    어제
    • 분류 전체보기 (46) N
      • TAVE-16th (14)
      • BDA-11th (16)
      • C++ (5)
      • 개인 프로젝트 (4)
      • 백준 (4) N
      • 컴퓨터 그래픽스 (1)
      • 잡담 (1)
  • 블로그 메뉴

    • 태그
    • 방명록
  • 링크

    • github.com/choisio2
  • 공지사항

  • 인기 글

  • 태그

    BDA
    바이브코딩
    BDAI
    viewpager2
    알고리즘
    AI시대
    데이터분석모델링
    개발자
    알고리즘스터디
    코딩테스트
    kotin
    백준
    playconsole
    BDA #데이터분석모델링
    calculator
    Tave
    spotify
    SpotifyAPI
    백준1463
    프론트엔드
    데시벨측정
    geminicli
    코테
    kotlin
    KakaoOauth
    개발자미래
    androidstudio
    C++
    polling
    frontend
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
choisio2
C++ 이론(4)
상단으로

티스토리툴바