목록공부 (9)
그냥저냥
WPF(Windows Presentation Foundation)는 데스크탑 UI를 위한 툴킷이다. 이전의 윈도우 폼 개발자들은 다양한 API(윈도우 폼, GDI+, DirectA API, Windows Media Player 등)들과 객체를 알아야만 했다. 이러한 문제를 해결하기 위해 다양한 프로그래밍 모델을 하나로 합쳐 WPF라는 통합된 프로그래밍 모델이 개발되었고 윈도우 컨드롤 만들기, 2D, 3D 그래픽, 스트리밍 비디오, 플로우 문서 지원 기능을 WPF를 통해 구현할 수 있게 되었다. UI와 코드의 분리 WPF의 장점 중 하나는 윈도우 애플리케이션의 로직과 UI가 완벽하게 분리된 것이다. XAML을 이용하면 마크업 언어를 이용해서 UI를 정의하는 것이 가능하다. 이 마크업은 코드와 연결되어 관리..
상속의 개념 상속(Inheritance)은 부모(상위) 클래스의 멤버를 자식(하위) 클래스에게 물려주는 것을 의미한다. 이미 구현된 코드를 자식 클래스가 사용할 수 있므로 코드의 중복을 줄여준다. 하지만 상속을 해도 모든 멤버를 물려주는 것은 아니다. 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외되고 부모 클래스와 자식 클래스가 다른 패키지에 존재하면 default 접근 제한을 갖는 멤버는 상속 대상에서 제외된다. 클래스 상속 자식 클래스를 선언할 때 상속할 부모 클래스를 extends 뒤에 기술해주면 된다. class People { String ssn; String name; People(String ssn, String name) { this.ssn = new ..
21. 문자와 문자열 처리 함수 21-1 스트림과 데이터의 전송 1] 입ㆍ출력에 대한 이해- 입력: 실행 중인 프로그램이 데이터를 받아들이는 것.- 출력: 실행 중인 프로그램이 데이터를 보내는 것. 2] 입ㆍ출력이 가능한 이유? 프로그램과 모니터, 키보드 등은 동떨어진 개체이다. 이들을 연결하는 다리 역할을 하는 것이 스트림(stream)이다.정확하게는 스트림(stream)은 연속된 데이터의 열(line)이지만 간단하게 다리라 생각하여도 괜찮다. 파일 입ㆍ출력시에는 우리가 스트림 생성에 관여해야 되지만, 콘솔 입ㆍ출력에 쓰이는 스트림은 프로그램 실행시 자동으로 생성된다. 이때 기본적으로 제공되는 스트림은 'stdin', 'stdout', 'stderr'가 있다. 21-2 문자 단위 입ㆍ출력 함수 1] 문..
1. 구문 #include 2. 연산자 operator & 비트 연산 실행 (binary logic operations on bitsets) operator | operator ^ operator 3. 함수 bitset n개의 비트 배열 생성, 모든 비트 0으로 초기화됨 set() 전체 비트를 1로 설정 set(n, true) (n+1)번째 비트를 true(1)로 설정 reset() 전체 비트를 0으로 설정 size() 할당된 비트의 개수 반환 any() 1로 설정된 비트가 존재하는가 none() 1로 설정된 비트가 존재하지 않는가 flip() 전체 비트를 반전 flip(n) (n+1)번째 비트를 반전 test(n) = [n] (n+1)번째 비트 검사 count() 설정된 비트의 개수 반환 to_stri..
※ 컨테이너 클래스란? Container is a class, a data structure, otr an ADT whose instances are collection of other objects.In other words, they store objects in an organized way that follows specific access rules. 다른 객체의 포인터를 저장하기 위한 용도로 사용하는 클래스를 일컫는다.Container 클래스의 기능은 객체(객체 포인터)의 저장/삭제 및 참조에 대한 것을 추상화시키는 것이다. "객체를 저장하는 방식이 바뀐다고 해도, Container 클래스에만 변경이 생긴다. 다른 클래스들은 전혀 바뀔 필요가 없다." #include using namespac..
계획으로는 학교 수업 자료를 사용하여 공부할려고 했는데책을 사서 공부할까도 싶다.일단 도서관에서 언뜻 보게된 책을 살까 생각 중이다.(알고리즘 문제 해결 전략) 일단 먼저 자료구조 공부를 마무리 짓고 시작하자. http://book.algospot.com/problems.html
※ Template 템플릿화한다는 것은 기능은 정해져있지만 자료형은 정해지지않고 구현한다는 것을 의미한다. template (== template ) 위는 'T라는 이름(type name)에 대해서, 다음에 정의하는 대상을 템플릿으로 선언한다.'를 뜻한다. 위의 선언을 해주고 T라는 typename을 사용하면 된다. 아래는 Add 함수를 템플릿화한 예시이다. template T Add(T a, T b){ return a + b; } 마치 T라는 typename을 int와 double과 같은 자료형처럼 사용하면 된다. [1] 함수 템플릿 앞서 Add라는 함수를 템플릿화 하였다. 이를 의미하는 단어는 함수 템플릿이다. 다시말해, 함수 템플릿은 함수를 템플릿화한다는 것을 의미한다. ① 둘 이상의 타입에 대해서..
처음 코딩을 시작할 때, VS에서 어두운 바탕에 흰글씨를 쓰다보니 모든 코드 편집기 테마를 어두운 바탕에 쓰는 것을 선호하게 되었다. 블로그로 코딩 공부한 것을 정리하기 위해서는 그냥 글을 쓰듯이 코드를 적기 싫어서 코드에 테마를 적용해서 적는 방법을 찾아 보았다. 1. SyntaxHighlighter에서 파일 다운로드 및 압축 해제 http://alexgorbatchev.com/SyntaxHighlighter/ (글을 작성하고 있는 이 시점에서 버전은 3.0.83) 2. tistory 관리> 꾸미기 HTML/CSS 편집> 파일 업로드 압축 해제한 폴더 중 scripts와 style 폴더의 모든 파일을 업로드합니다. 3. 스킨 HTML의 태그 앞에 아래 코드를 복사하여 붙여 넣습니다. SyntaxHigh..
* List란? A data structure(container) that holds a sequence of elements.Elements are arranged linearly, in sequence.(Size is fixed or variable) 연속된 개체들을 저장하고 있는 자료구조형이다.개체들은 나란히 배열되며 그 크기는 고정되어 있거나 가변적이다. * ADT (Abstract Data Type)List는 ADT이다.ADT이란 사용자의 데이터 사용 측면에서의 사용방법만 명시되어 있고 정확한 구현방법에 대한 명시가 없는 데이터 모델을 의미한다.List는 ADT이므로 다양한 구현방법이 존재한다. ※ Linear List Linear List는 다음과 같이 개체(element)들이 일렬로 나열된 ..