Programming(109)
-
열혈 C++ - Chapter 04. 클래스의 완성
Chapter 04-1. 정보은닉프로그래밍은 객체간의 관계를 구성해주는 것이 중요하다.그런데 객체를 정의함에 있어서 모두 정보은닉, 캡슐화가 되어있어야한다. 여기서 정보은닉은 멤버변수(정보)를 감추겠다(은닉하겠다.)해당 클래스가 아닌 다른 영역, 다른 클래스에서 접근이 불가능하도록 하겠다는 것이 바로 정보 은닉인것이다. 그러면 정보 은닉은 모두 쉽게 할 수있는 개념이다.물론 이렇게 정보에 접근만 못하게 한다고 정보를 은닉했다고 할 수 있는 것은 아니다.접근을 막았으니까 다른 경로로 내가 원하는 방향으로 접근할 수 있도록 길을 만들어 줘야만한다.아예 접근을 못하게 하면 클래스 자체를 선언하는 의미가 없기 때문에 어떤 방법으로든 접근은 할 수 있어야 한다. 그러면 캡슐화는 무엇일까.캡슐화를 했다 라는 것은 ..
2024.11.24 -
Dart의 설치
Dart 란Dart는 구글에서 개발한 현대적이고 다재다능한 프로그래밍 언어이다. 이 언어는 다양한 플랫폼에서 애플리케이션을 개발할 수 있는 강력한 기능을 제공한다1. 크로스 플랫폼 개발Dart는 모바일, 웹, 데스크탑 등 다양한 플랫폼에서 사용할 수 있는 크로스 플랫폼 개발을 지원한다. 단일 코드베이스로 여러 플랫폼에 배포할 수 있어, 개발 시간과 비용을 절감할 수 있다.2. Flutter 프레임워크의 주 언어 ★Dart는 Flutter 프레임워크의 주요 언어이다. Flutter는 Dart를 기반으로 하여 다양한 플랫폼에서 일관된 사용자 경험을 제공하는 애플리케이션을 쉽게 만들 수 있게 해준다.3. 객체 지향 언어Dart는 객체 지향 프로그래밍을 지원한다. 이를 통해 코드의 구조화와 재사용성을 높일 수 ..
2024.11.21 -
열혈 C++ - Chapter 03. 클래스의 기본
03-1. C++에서의 구조체구조체의 등장 배경연관있는 데이터를 하나로 묶으면 프로그램의 구현과 관리가 용이하다.구조체는 연관 있는 데이를 하나로 묶는 문법적 장치이다. 구조체로 연관있는 데이터들을 묶으면 생성 및 소멸시점을 일치시키고, 이동 및 전달 시점 및 방법 또한 일치시키기 때문에 관리가 용이 해진다는 장점이 있다.C++ 에서의 구조체 변수 선언C에서는 struct라는 키워드를 통해 구조체 변수를 선언했는데 C++의 경우는 struct키워드가 필요 없다.//C언어에서의 구조체 선언 방법struct Car basicCar;struct Car simpleCar;↓//C++에서의 구조체 선언 방법Car basicCar;Car simpleCar;그렇기 때문에 변수를 선언할때 struct를 없에기 위해서 ..
2024.11.19 -
열혈 C++ - Chapter 02. C언어 기반의 C++ 2
02-1. Chapter 02의 시작에 앞서C언어의 복습을 유도하는 확인학습 문제#[문제 1] 키워드 const의 의미키워드 const는 어떤 의미를 갖는가? 다음 문장들을 대상으로 이를 설명해보자.const int num = 10; ===> num을 상수화 / num은 10에서 변경할 수 없음const int * ptr1 = &val1; ===> ptr이 가리키는 val1이 const int 타입임 / ptr1을 이용해서는 val1의 값을 변경할 수 없음, 그러나 ptr1은 다른 주소값으로 변경하는게 가능함int * const ptr2 = &val2; ===> ptr2를 상수화 / ptr2의 값은 변경할 수 없이 val2를 항상보고있어야함, ptr2를 통해서 val2의 값을 변경하는건 문제 없음co..
2024.11.19 -
열혈 C++ - Chapter 01. C언어 기반의 C++
01-1. printf와 scanf를 대신하는 입출력 방식C++ 버전의 Hello World 출력 프로그램//예제를 통해 확인할 사실//헤더 파일의 구성 #include //출력의 기본 구성std:cout 또한 C언어의 경우는 출력 대상에 따라 서식 지정을 다르게 해서 출력 했으나(%d, %g, %f) C++에서는 사용하지 않아도 된다. scanf를 대신하는 데이터의 입력//예제를 통해서 확인할 사실 몇가지 //입력의 기본 구성std::cin>>'변수'//변수의 선언위치//함수의 중간 부분에서도 변수의 선언이 가능하다 우선 C++의 경우는 변수의 선언 위치에 제한을 두지 않는다.(C의 경우는 상단에 선언했어야 했음, C99 버전 이후부터는 이게 문제가 없음, C89, C90은 불가능함) 이렇게 변수를..
2024.11.18 -
열혈 C - Chapter 27. 파일의 분할과 헤더파일의 디자인
여태까지는 하나의 소스파일안에 모든 것을 다 넣었었다.그런데 사실 프로그래밍을 하다 보면 하나의 파일안에 모두 다 넣어놓지는 않는다.여러개의 파일들이 만들어지고 이게 하나의 프로그램을 만들게 된다. 그러면 왜 파일을 나눌까?파일을 나누는 이유는 관리의 용이성을 위해서이다. 파일을 나누는 이점을 살펴보자면 한사람이 하나의 프로그램을 만든다고 생각하지만 실제로는 다수의 사람이 하나의 프로그램을 개발하기 마련이다.그러면 보통 각자가 파일을 만들고 하나로 묶어서(적절한 위치에 배치시킨다) 컴파일해서 하나의 실행파일을 만들어내는 것이다.단순하게 협업을 위해서이다 라고 만 생각해도 파일을 분리해서 프로그램을 개발하는게 더 자연스럽지 않을까. 그리고 소스코드 하나에 1만개 이상의 라인을 만들었다고 한다면 어떤 코드가..
2024.11.17