728x90

프로그래밍 410

C#] 구조체(Structure)

### 구조체(Structure) 참조 형식이 클래스와는 달리 구조체는 값 형식임.구조체는 상속을 지원하지 않음.(System.ValueType을 암묵적으로 상속한다는 점은 제외)구조체는 클래스가 지원하는 요소 중,매개 변수가 없는 생성자, 필드 초기화, 종료자, 가상 멤버와 보호된 멤버를 제외한 모든 요소를 지원함. 구조체는 값 형식 의미론이 바람직한 경우에 적합하며, 일례로 커스텀 수치 형식이 있음.수치 형식에서는 배정 시 참조가 아니라 값을 복사하는 것이 더 자연스럽기 때문임.구조체는 값 형식이기 때문에, 인스턴스화 시 힙에 객체를 할당할 필요가 없어 한 형식의 인스턴스를 많이 생성하는 경우 구조체가 더 효율적일 수 있음. ## 구조체 생성 의미론 구조체에는 매개 변수 없는 생성자가 암묵적으로 존재..

DataStructure] C++ 연결 리스트(Single Linked List)

2학년 1학기(벌써 작년이다)에 필자는 C언어로 자료구조론을 배운 적이 있다.당시에는 C언어로 모든 것을 작성했었다.자료구조도 복습하고, C++ 연습하는 겸,C++로 자료구조들을 구현하는 시도를 하고 있다.오늘은 그 첫번째 시도로 단일 연결 리스트(혹은 단순 연결 리스트;Single Linked List)를 만들어봤다. head, tail, 중간 삽입이 모두 가능하고,삭제하는 건 head에서만 이뤄지도록 했다.그냥 구현에 초점을 둬서 완벽한 예외처리나, template을 활용하거나 하지는 않았지만,근시일내에 그런 걸 다 집어넣고 다시 한 번 짤 생각이다. (왜 remove만 핫핑크로 하이라이팅되는 거지?...) #include using namespace std; class Node { friend cl..

C#] 제네릭(Generic) - 1

### 제네릭(Generic) 여러 형식들에서 재사용할 수 있는 코드를 작성하기 위한 메커니즘 중 하나로, 자리표(placehodler)에 해다하는 형식들을 담은 템플릿(template)을 통해 재사용성을 표현함.상속에 비해 형식 안전성이 증가하고 casting, boxing이 줄어듦. ## 형식 형식 매개변수(type parameter)들을 선언하여 사용하며, 이는 실제 형식들이 대신할 자리를 표시하는 자리표에 해당함.형식 매개변수는 관례적으로 T를 이용하며, 형식 매개변수가 여러 개인 경우, T로 시작하면서 명확히 구분할 수 있는 이름을 붙여 매개변수를 사용함.실제 형식은 형식 인수(type argument)라고 부름. ex) Stack 123456789101112public class Stack{ ..

C#] 열거형(Enum Type)

### 열거형(Enum Type) 일련의 수치 상수들에 이름을 붙일 수 있는 특별한 형식열거형의 각 멤버에는 바탕 정수값이 존재하며, 이는 기본적으로 int형이며, 선언 순서대로 0, 1, 2가 배정됨.int 외의 형식을 배정하는 것도 가능하며, 명시적으로 바탕 정수 값 외의 값을 배정하는 것도 가능함. 더 나아가, 컴파일러는 열거형의 일부 멤버들에만 명시적으로 값을 배정하는 것도 허용함.이 경우 배정되지 않은 열거형 멤버들에게는 가장 최근 명시적으로 배정된 값을 차례로 증가한 값들이 배정됨. ## 변환 enum 인스턴스를 그 바탕 정수값으로, 그 반대로 변환 가능함.두 경우 모두 명시적 캐스팅(casting)이 필요. public enum BorderSide : byte { Left = 1, Right..

Javascript] BOM(Browser Object Model)

### Browser Object Model ## Window Object - 브라우저의 내장 객체 중 최상위- 모든 전역 객체, 함수, 변수는 자동적으로 window 객체에 속함- 전역 변수(속성), 전역 함수(메서드)- window를 생략한 형태로 객체와 메서드 사용 가능- 공식 표준은 없으나 주요 브라우저들에서 지원- HTML5에서 브라우저 객체 모델을 공식 명세의 일부로 표준화시킴 # Open() 메서드- 주요 브라우저에서 지원함- 선택사항인 4개의 매개변수- URL : 새롭게 생성할 브라우저 창의 주소, 공백 시, 빈 브라우저 창- name : 새로 생성될 창의 이름 지정, form/anchor의 TARGET 속성을 위한 값- features : 창의 위치, 크기, 모양 지정, 일부 옵션은 IE..

Javascript] 함수

### JavaScript Function - 객체 자료형 중 하나- 하나의 값처럼 취급해 변수에 할당 가능- C, Java와는 달리 함수 명은 선택사항이므로 함수명 없이 생성 가능(익명 함수) ## 익명함수 - function() {}와 같이 함수 형태이나, 이름이 없음- 이름이 없어 변수에 할당해 사용- 중괄호 안에 함수가 처리할 코드 기술- 함수의 재정의가 가능, 호출 시 최종적으로 할당된 함수가 호출됨 var 변수명 = function() {};의 형태 : 함수 표현식 ## 선언적함수 - 일반적으로 함수를 만드는 방식으로 함수명 존재- 익명 함수와 같이 중괄호 안에 함수가 처리할 코드 기술- 함수의 재정의가 가능함, 호출 시 최종적으로 할당된 함수가 호출됨 ## 익명함수 vs 선언적함수 1. 실행..

소스코드 편집기, Notepad++

IDE를 쓸 상황은 아니고, 소스 코드를 편집해야 하고, 가벼운 에디터가 필요할 때 이것을 사용하는 것을 추천한다.필자가 학교에서 배울 때에는 웹 프로그래밍과 DB 프로그래밍에서 이를 메인 에디터로 사용했었다.해당 분야에서 편집기를 메인으로 사용하는 것은 추천하지 않는다.PHP는 그렇다고 해도, HTML, CSS 개발을 할 때 이 편집기를 사용하는 건...필자는 그래서 HTML, CSS, JS는 Visual Studio for Web을 사용하고 PHP의 경우는 이클립스를 사용했다. 나는 더블모니터라서 HTML, CSS를 편집할 때마다 즉각 확인할 수 있다는 사람이라면 상관이 없지만,학생 수준에서 더블 모니터가 아닌 경우를 고려하면 이것이 WYSWYG 에디터가 아니기 때문에,내가 원하는 모양이 맞는지 확인..

Javascript] 내장 객체(Built-in Object)

### JavaScript 내장 객체 - JavaScript 자체적으로 제공- Object : 최상위 객체, 모든 객체는 이를 기본으로 하여 생성- Number : 숫자 표현하는 객체- String : 문자열 표현하는 객체- 메서드 체이닝 : 메서드를 연속적으로 사용하는 것 ## Object - JavaScript의 가장 기본적인 내장 객체로, 최상위 객체- Object() 생성자 함수에 의해 생성된 인스턴스- 모든 기본 내장 객체는 Object 객체를 기본으로 만들어짐- 생성var object{};var object = new Object(); - 메서드constructor() : 객체의 생성자 함수를 나타냄hasOwnProperty(V) : 문자열 매개 변수로 전달된 속성이 객체에 있는지 확인isPr..

C#] 부분 형식, 부분 메서드

부분 형식(partial type)과 부분 메서드(partial method) - 부분 형식 하나의 형식을 여러 곳에서 나누어 정의하는 것하나의 형식이 여러 소스 파일에서 정의되는 경우도 흔함.부분 클래스의 흔한 용도 하나는 다른 어떤 출처에서 자동으로 생성한 클래스를 사람이 직접 추가해 보강하는 것한 형식의 모든 부분 선언에는 반드시 partial 키워드가 있어야 함. AGen.cs - 자동 생성 partial class A { ... } A.cs - 사람이 직접 생성 partial class a {...} 매개변수가 동일한 생성자가 여러 개의 부분 선언에 포함되어 있는 경우처럼 멤버들이 충돌해선 안 됨.부분 형식은 전적으로 컴파일러가 처리해,모든 부분 선언이 갖추어져야 하며, 반드시 어셈블리 안에 있..

Javascript] Object(객체)

### 객체(Object) * JavaScript에서는 다른 객체지향 언어와 달리 클래스 없이 생성 가능* JavaScript는 이러한 이유로 객체 기반의 스크립트 언어로 불리고, 많은 부분이 객체로 존재해 매우 중요한 개념* 자기 자신이 가진 속성을 이용할 때, 반드시 this 키워드를 이용해야 함. JavaScript의 경우 생략 자체가 불가. - 변형 가능한 속성들의 집합- 이름과 값이 있는 속성들이 포함하는 컨테이너- 데이터를 모으고 구조화하는데 유용- 객체에 없는 속성값 접근 시, undefined 출력 Number, String, Boolean = 유사객체 Array, Function, 정규표현식 등 참조 타입이 객체인 것들 = 객체 ## 속성이름 - 빈 문자열을 포함해 어떤 문자열이나 숫자 ..

728x90