본문 바로가기

분류 전체보기

(433)
Chap 8. 상속과 다형성 Chap 8. 상속과 다형성 8-1. 객체 포인터의 참조관계 객체 포인터 변수는 해당 자료형의 객체 뿐만 아니라 해당 객체를 직간접적으로 상속하는 모든 객체를 가르킬 수 있다.그렇지만 특정 포인터의 자료형에 따라 사용할 수 있는, 접근할 수 있는 범위는 제한된다. 123456789101112131415161718192021222324252627282930313233#include class Person{// 멤버변수private: int age;// 멤버함수public: Person(int a) : age(a){} void funct(){ std::cout
MTV 패턴 MTV 패턴 MTV 패턴은 Model - Template - View 로 구성되어있고 MVC 패턴 Model - View - Controller 와 기본적인 틀은 유사하다.각각의 구성 요소들이 독립적으로 자신의 임무를 수행하여 Django Framework가 동작되는 것이며 각각의 역할은 다음과 같다. Model - 데이터를 관리Template - 보여주기View - 처리 구체적으로는 다음과 같다.Model 모델은 데이터베이스에 저장되는 데이터를 의미합니다. excel과 같은 표의 형태로 정리하여 데이터베이스에 넣는다고 생각하면 편합니다. 원래 DB를 다루기 위해서는 SQL이라는 언어를 알아야하지만, 장고는 이 SQL을 몰라도 DB 작업을 가능하게 해주는 ORM을 제공하기 때문에 공부할 내용이 훨씬 적어..
Hello World 이론 & 실습 Hello World 이론 & 실습 가상환경 켜기 장고 프로젝트를 시작하려면 가장 먼저 가상환경을 켜야합니다. source myvenv/Script/Activate첫번째 Django 프로젝트 시작하기 가상환경이 켜진 상태에서 바로 아래 명령어를 입력해서 프로젝트를 만듭니다. django-admin startproject firstsiteDjango 서버 작동시키기 밑기진 않겠지만 우리의 첫번째 프로젝트 생성이 끝났습니다. 아래 명령어를 통해 어떤 웹사이트가 만들어졌는지 확인해봅시다. python manage.py runserver 서버를 동작시키면 다음과 같은 페이지가 나타나게 된다. 그 다음, 이제 Hello world 를 출력하는 페이지를 처리하고자 한다.app 만들기 app은 프로젝트의 구성 단위이..
Python & Django 설치 및 세팅 Python & Django 설치 및 세팅 먼저 해당 사이트에서 Python을 3.7 version 이상으로 설치해준다.www.python.org에서 다운로드 메뉴 - Python 3.7이상 선택해서 다운로드설치 과정에서 Add Python 3.7 to Path 반드시 체크 후 설치 완료.윈도우키 + R을 눌러서 나오는 창에 powershell이라고 치고, 확인을 눌러서 powershell실행powershell화면에서 python이라고 입력해서 오류가 나오지 않으면 설치 성공 그리고 다음의 명령어를 통해 가상환경을 만들어준다.여기서 가상환경이란, "파이썬 코드 상의 독립된 공간" 을 의미한다.프로젝트를 진행할 때, 해당 영역에서만 패키지 등을 적용시키겠다는 의미.python -m venv 가상환경명 py..
Chap 7. 상속(Inheritance)의 이해 Chap 7. 상속(Inheritance)의 이해 7-1. 상속에 들어가기에 앞서 상속의 문제 상황에 대한 예시 제시.상속은 재활용을 위한 것이 아닌, 구체화(IS-A) 관계를 표현하기에 적절한 수단이다. 우리가 회사의 직원 봉급 관리 프로그램을 작성한다고 하였을 때,직원의 데이터를 저장하는 Data 클래스와 이러한 Data 클래스들을 관리하는 Control 클래스를 작성하였을 때,새로운 직원 형태(정규직, 알바, 인센티브 직, 등등)가 등장하면 기존의 Control 클래스에 많은 수정이 요구된다.그렇지만 이 때 Super 클래스를 작성해두고 이를 관리하는 Control 클래스를 두고 Data 클래스들은 Super 클래스를 상속하는 Sub 클래스로 둔다면 손쉽게 해결이 가능하다. 7-2. 상속의 문법적인..
Chap 6. friend와 static 그리고 const Chap 6. friend와 static 그리고 const 6-1. Const 기존의 Const는 기본 자료형 변수들에 대해서 선언하여 상수화 하는 것이 일반적인 사용법이었다.그런데, cpp에서는 객체에도 마찬가지로 상수화 선언을 통해서 상수 객체화할 수 있다.이 때, 상수화된 객체는 초기화 이후에 객체 내부의 멤버 변수를 변경할 수 없고, 상수 선언된 멤버함수만 호출 가능하다. 추가로 다음과 같이 const 객체에서 접근가능할 때와 일반 객체에서 접근가능할 때를 오버로딩 처리도 가능하다. 12void func(void){}void func(void) const {} // const cs 6-2. friend 선언 friend 선언은 말 그대로 친구의 의미로, 특정 클래스에서 class, 함수, 전역 함..
Chap 5. 복사 생성자(Copy Constructor) Chap 5. 복사 생성자(Copy Constructor) 5-1. 복사 생성자와의 첫 만남 우리는 기존의 c 스타일에서 초기화를 할 때,int num = 20; int & ref = num; 을 사용했다면 c++ 에서는 다음과 같은 초기화가 가능하다.int num(20); int & ref(num); 즉, 마찬가지로 대입연산에서도 이러한 의미를 지니게 되는 것이다. 12Object obj1(40);Object obj2 = obj1; // Object obj2(obj1)cs 이러한 초기화의 의미는 결국 생성자로 객체를 인자로 받았을 때 어떻게 처리할 지를 우리 c++ 프로그래머가 지정할 수 있는 것이다. 1234567891011121314151617Class Ex{private: int num1; int..
Chap 4. 클래스의 완성 Chap 4. 클래스의 완성 4-1. 정보은닉(Information Hiding) 객체 지향 프로그래밍에 있어서, 중요한 것을 클래스 설계인데, 이 클래스 설계에서 가장 중요한 두 가지는 정보은닉과 캡슐화이다.그 중에서 먼저, 정보은닉에 대해서 이야기하자면 정보은닉은 쉽게 말해서 클래스의 멤버변수 정보를 감추는 것인데, 타 클래스에서 접근하지 못하도록 설계하는 것이다. private으로 멤버변수를 설정하고 이를 접근할 수 있도록 public 함수들(get,set) 등을 설정해주는 방법을 통해 안전한 방법으로 멤버변수에 접근할 수 있도록 해주는 것이다. 추가적으로 멤버 함수에 const 선언을 해주면 해당 멤버변수 값을 변경하지 않도록 하여, 안정성을 높이는 효과를 가져온다.int getX(void) co..