본문 바로가기

프로그래밍

[VB.NET] 클래스 기초 클래스란 업무 분석을 통해서 사용자가 만들어나가는 추상적인 자료형을 설계하는 설계표이다. 클래스는 객체 지향 프로그램에서 객체 내부의 데이터 구조(필드, 멤버 변수)와 그 데이터에 작용하는 함수(메서드, 멤버함수)를 기술한 사용자 정의 데이터 타입(User Defined Type)을 말한다. 그럼, 객체란? 객체는 클래스를 실체화한 것으로 '인스턴스'라고도 부른다. 즉, 객체는 클래스를 기바느올 생성된다. 클래스 내부에는 필드, 상수, 메서드, 속성, 이벤트가 멤버로 선언되며 Class, Structure, Delegate, Enumerable, Interface의 형식도 정의할 수 있다. 한정자를 사용하여 외부에서 이들 멤버에 접근할 때 필요한 권한 설정을 할 수 있으며, 선언시 한정자를 성정하지 않으.. 더보기
[VB.NET] 제어문 제어문을 사용하면 프로그램의 실행 흐름을 제어할 수 있다. 제어문은 크게 판단문과 반복문의 형태로 구문된다. - 판단문 : 조건을 테스트하고 그 결과에 따라 여러가지 작업을 수행할 수 있으며 IF문, Select ... Case 문이 있다. - 반복문 : 한 줄 이상의 코드를 반복해서 실행할 수 있으며 While문, Do .. Loop문, For .. Next문, ForEach .. In 문 등이 있다. 1. If ... Then ... Else문 If ... Then ... Else 문은 주어진 조건의 참과 거짓 여부에 따라 해당 코드를 실행한다. * 이중 조건 If문 조건식이 참인지 혹은 거짓인지에 따라 서로 다른 실행 문장을 수행한다. If 조건식 Then 조건식이 True일 때 실행되는 코드 El.. 더보기
[VB.NET] 열거형과 구조체 1. 열거형 열거형은 연관있는 상수들의 집합을 의미한다. 클래스 또는 모듈의 선언 영역에서 Enum문을 사용하여 열거형을 만든다. 위에서는 요일과 관련된 정수 상수 집합에 대한 Days 열거형을 선언하고 있다. 이때 각각의 상수들은 차례대로 정수 값을 가지게 되는데 맨 앞의 상수 Sunday가 0으로 설정되고 나머지는 차례대로 1씩 증가된 값을 갖는다. 기본적으로 열거형은 Integer형식을 가지며 원한다면 명시적으로 Integer, Short, Long 또는 Byte와 같은 숫자 형식으로 바꾸어도 상관없다. 때에 따라서는 임의의 값을 각 상수에 지정할 수도 있다. 임의의 값이 지정된 상수에는 그 값을 가지며, 값이 지정되지 않은 상수들은 지정된 상수로부터 1씩 증가된 값이 지정된다. 2. 구조체 구조체.. 더보기
[자료구조] 배열과 미로 탐색 4.1 배열의 정의 배열의 정의 1차원 배열 사용법 C++ 배열 정의 연속된 메모리 공간을 차지하는 같은 타입의 데이타 집합 정적인 데이타 타입으로 그 크기가 미리 정해져 있음 ( 정적이라는 것은 바뀌지 않는다는 의미 ) 배열의 인덱스 사용은 사용자의 책임 . 인덱스는 0 ~ 크기 -1 까지 . 배열 자체에 크기 정보는 없다 ( a[ 10 ]을 사용하여도 컴파일 에러는 발생하지 않으나 실행시에 Memory error가 난다. ) 데이타형 배열명[ 배열의 크기 ]; int array[ 10 ]; // index는 array[ 0 ] ~ array[ 9 ] int array2[ 5 ] = { 1, 2, 3, 4, 5 }; // 정의와 동시에 초기화 | | | | 1 | 2 | 3 | 4 | 5 | | | |.. 더보기
[RSS]실시간 신호 정보 전송 시스템 실제 교차로의 신호등 정보를 모바일에 제공을 해준다. 이로 인해서 사용자는 신호에 대한 부담을 덜 수 있게 되고, 공회전으로 인한 연료 소비를 줄일 수 있다. RSS Server : 사용자의 위치를 모니터링 할 수 있는으며, 주 핵심 서버이다 Web Service: RSS Server로 부터 데이터를 송수신 하는 다리 역할을 한다 (서비스 참조 추가) Mobile Server : 모바일과 데이터를 송수신 하기 위한 서버이며, 소켓 통신 방식을 쓰는 서버이다. 각 지역의 교차로에 있는 신호등의 정보를 RSS Server에서 데이터를 가공해서 관리하고 있다. 실제로 운전자가 운전을 하면서 지나가는 신호등의 정보를 가져 올 수 있게 된다. 여기서 말하는 정보들은 교차로의 이름과, 신호등의 변경되는 시간, 최적.. 더보기
[C] main(int argc, char *argv[])에서 포인터를 쓰는 이유? main(int argc, char *argv[])는 프로그램하면서 많이 쓰는 부분입니다. argc는 파라미터 입력의 개수를 나타냅니다. 예를 들어 프로그램이 test_run이라고 가정하면 test_run하면 argc는 1이되고 test_run abc하면 argc는 2가 됩니다. 즉 파라미터 개수 +1이 됩니다. 이유는 파라미터를 입력하지 않더라도 자동적으로 하나의 파라미터가 들어가게 되어 있습니다. char *argv[]는 1차원 포인터 배열 입니다. 포인터는 일반적으로 할당된 메모리 영역에 대해서 주소를 확보하기 위해서 사용욉니다. 예를 들어보겠습니다. char a[] = "123"; char *p = a; printf("%s\n", a); printf("%s\n", p); 위에서 보면 printf의.. 더보기
[C++]STL에 대해서(보충) [출처]http://blog.naver.com/hkn10004/20103075766 STL은 C++ 응용 프로그램의 고효율성을 위해 설계 되었다. STL의 구성요소들과 용어들에 대해 알아보자. 컨테이너 : 벡터, 리스트, 큐, 맵 같은 전통적인 데이터 추상과 조직화 구조이다. 반복자 : iterator는 컨테이너 안의 요소들에 대한 포이터라고 생각하면 된다. 알고리즘 : 반복자에 대한 작동하는 독립형 함수들의 형태. 특수화된 멤버 함수들로 컨테이너들에 대한 가장 기본적인 작업 들을 수행한다. 컨테이너를 다룰때에는 범위를 얻는 데 쓰이는 메서드들을 알아야 한다. begin()과 end()가 있는데 컨테이너의 시작과 끝을 알 수 있다. 컨테이너 [][][][].....[]|| begin().......end.. 더보기
개발자.. 주사위는 던져 졌다.... 오래 전부터.. 더보기
[C++] 초기화 리스트(Initialize List) [출처] café.naver.com/cppmaster 1. 초기화 리스트란? 클래스의 각 멤버를 생성자에서 초기화 할 때 생성자 뒤에 콜론연산자(:)를 사용해서 객체의 멤버를 초기화 할 수 있다. 이를 초기화 리스트, 또는 콜론 초기화라고 한다. - 초기화 리스트를 사용하지 않은 경우 class Point { int x; int y; public: Point(int a, int b) { x = a; y = b; } }; - 초기화 리스트를 사용한 경우 class Point { int x; int y; public: Point(int a, int b) : x(a), y(b) { } }; 그럼 , 이와 같은 초기화 리스트를 사용하는 이유는 무엇일까? 초기화 리스트를 사용하는 이유는 크게 효율성과 필요성으로 .. 더보기
[C++] 형변환 연산자 [출처] http://blog.daum.net/coolprogramming/62 C++언어는 C언어를 포함하므로 C언어의 형변환을 사용할 수 있지만 C++언어 자체의 형변환 연산자를 제공합니다. (EC++에서 C스타일의 형변환보다는 C++ 스타일의 형변환을 사용하라고 권장합니다. C++ 스타일의 형변환을 사용하면 잘못된 형변환의 위험에서 좀 더 안전하며 설계자의 의도를 좀 더 확실히 할 수 있습니다.) ( ) C언어의 형변환 : 만능 형변환 = 무식한 형변환 = 불가능은 없다. - 컴파일 타임 형변환 - static_cast : 상식적인?! 형변환입니다. 여기서 상식적인 형변환이라 말한 이유는 상식적으로 생각했을 때 가능할 것 같은 형변환이기 때문입니다.(암시적 변환이 가능한 형변환을 명시적으로 변환한다.. 더보기