본문 바로가기

언어/C++41

[C++ 기본 공부정리] 14-2. OOP - 클래스 접근제어자(access modifier) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 앞서 클래스의 선언을 정리하면서 public이나 private와 같은 접근제어자를 사용했다. 접근제어자는 캡슐화에 포함된 개념 중 하나인 정보은닉을 위해 사용된다. 정보은닉은 프로그램 이용자가 사용해야하는 기능이나 데이터 이외에는 공개하지 않아야 한다는 뜻이다. 불필요하게 모든 정보를 공개하게 된다면 잘못된 방법으로 프로그램이 쓰일 가능성이 존재하기 때문이다. 1. 접근제어자(access modifier) 접근 제어자는 접근 제어(access control)을 위해 멤버 변수나 함수에 외부에서 직접적인 접근을 막거나 허용하는 기능을 설정하도록 해주어 정보 은닉을 실행하도록 해준다. 문법) class.. 2019. 12. 28.
[C++ 기본 공부정리] 14-1. OOP - 클래스(class) 기본 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 클래스(class) 객체 지향 프로그래밍을 수행하게 되면 데이터와 기능을 유기적으로 연결하기 위해 클래스(class)를 사용하게 된다. 추상화를 통해 원하는 객체를 class 키워드를 통해 사용자 정의타입으로 생성하며 struct와 구조는 같다. 차이점은 class라는 키워드와 접근제어자를 사용하는 것이다. 선언방법은 다음과 같다. 문법) class 클래스명 { 접근제어자: 멤버 변수1; 멤버 변수2; ... 멤버 함수1; .... } 접근제어자에 대해 간단히 정리하면, class의 기본적으로 설정된 접근제어자는 private이므로 접근제어자를 입력하지 않으면 자동으로 private로 설정되고.. 2019. 12. 26.
[C++ 기본 공부정리] 13. 객체 지향 프로그래밍(Object Oriented Programming) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 클래스(class)란 앞서 정리한 구조체(struct)와 비슷한 구조를 가지고 있다. C++에서 구조체는 멤버로 함수도 가질 수 있기 때문에 구조체와 클래스는 구조적으로 기본 접근자의 차이만 존재한다. 이제 정리할 클래스를 사용하면 객체 지향 프로그램을 작성할 수 있게 된다. 따라서 객체 지향 프로그래밍(OOP)이 무엇인지 먼저 정리하자. 1. 객체 지향 프로그래밍(Object Oriented Programming)이란? 객체 지향 프로그래밍(OOP)은 컴퓨터 프로그래밍의 패러다임으로써 현실의 존재를 프로그램으로 구성하거나 어떤 문제를 해결하는등 다양한 이유로 프로그래밍을 하게 되는데 이때 프로그래.. 2019. 12. 24.
[C++ 기본 공부정리] 12. 참조 변수(reference variable) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 일반 변수 : 값을 저장하기 위해 메모리에 공간을 할당받아 직접 저장하는 변수 포인터 변수 : 다른 변수의 주소 값을 저장하는 변수 두 변수에 이어 C++에서 제공하는 세 번째 변수 타입인 참조(reference) 변수는 한 객체가 다른 객체를 연결하는 수단이다. 즉, 다른 객체나 값에 대한 별명으로 사용한다고 생각하면 된다. 크기가 큰 객체를 함수에 인수로 전달할 때 주로 사용한다. 1. 참조 변수 선언 문법) 자료형& 참조 변수명 = 변수명; 여기서 사용되는 &(앰퍼샌드) 기호는 포인터에서 사용하던 변수의 주소값을 저장할 때 사용하던 주소 연산자로 쓰인 것이 아니라 타입을 식별하기 위한 식별자로.. 2019. 12. 23.
[C++ 기본 공부정리] 11-6. 함수 오버로딩(function overloading) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 함수 오버로딩(function overloading) 함수 오버로딩은 매개변수의 개수나 형태를 다르게 설정하여 같은 이름의 함수를 재정의 하여 동일한 이름을 가진 함수를 여러 개 만드는 것이다. 즉, 동일한 기능을 수행하는 함수를 매개변수에 차이를 주어 하나의 이름으로 작성할 수 있게 해 준다. 함수 오버로딩은 객체지향 프로그래밍의 특징 중 다형성(polymorphism)의 구현이다. 예를 들어 변수의 경우 동일한 이름으로 변수를 중복하여 만들 경우 문법상으로는 오류가 발생하지 않지만 컴파일하게 되면 변수가 재정의 되었다는 오류가 발생하게 된다. 하지만 함수의 경우 동일한 기능을 하지만 인수로.. 2019. 12. 21.
[C++ 기본 공부정리] 11-5. 다양한 함수 사용법(default parameter, inline function) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 디폴트 매개변수(default parameter) 디폴트 매개변수란 함수를 선언및 정의 할때 사용자가 미리 기본값을 지정한 매개변수 이다. 함수 호출시 인수로 아무런 값을 넘겨주지 않으면 설정한 기본값으로 함수가 동작하며 인수를 넘겨줄 경우 기본값 대신 인수로 넘겨준 값으로 동작한다. 즉, 디폴트 매개변수가 설정된 함수는 사용자가 무시할 수도 사용할 수도 있다. 디폴트 매개변수를 설정하는 것에 몇가지 규칙이 있다. 1) 함수의 원형에서만 설정 가능하다. 2) 매개변수가 여러개일 경우 맨 오른쪽에서 부터 순서대로 선언 하고 반드시 모든 매개변수에 설정할 필요는 없다. 3) 2)로 인해 가운대 매.. 2019. 12. 20.