728x90
728x90

메서드 10

C#] 접근 수정자(Acces Modifier)

캡슐화를 강화하는 목적으로 형식이나 형식의 멤버의 접근성(accessibility)을 설정할 수 있으며, 그 형식이나 멤버에 다른 어떤 형식이나 어셈블리가 접근할 수 있는지 결정함.접근성을 설정하기 위해 형식이나 멤버 선언 시 적용하는 다섯 가지 접근자가 존재함. - public모든 형식과 어셈블리가 접근 가능한 공용.열거형이나 인터페이스의 모든 멤버에는 암묵적으로 이 수준이 적용됨. - internal형식이 속한 어셈블리나 그 어셈블리와 friend 관계인 어셈블리에서만 접근 가능함.비내포 형식(non-nested type; 다른 형식에 내포된 것이 아닌 형식)의 기본 접근성 - private멤버가 속한 형식 안에서만 접근 가능한 전용.이는 클래스나 구조체 멤버들의 기본 접근성. - protected멤..

C#] 하위 디렉토리 내용 검색하기

C#] 하위 디렉토리 내용 검색하기 어떤 디렉토리가 있으면 그 디렉토리 내의 하위 디렉토리를 포함한모든 파일 정보나 디렉토리 정보까지 검색하여 사용해야 하는 일이 있다. 흔히 파일 정보 검색은 Directory클래스나 DirectoryInfo 클래스에서 정의된GetFiles나 GetDirectories를 등을 사용하는데어떤 속성값도 없이 경로만 지정해준 상태에서 목록을 반환하게 하면,선택한 경로 내의 하위 디렉토리에는 접근하지 않는 문제가 발생한다. 모든 하위 디렉토리의 파일 혹은 디렉토리 목록을 조회하는 것이 목적이면메서드의 파라미터에 검색 옵션을 추가해주면 된다. 12Di = new DirectoryInfo(searchPath);FileInfo[] file = Di.GetFiles("*",Search..

C#] System.Net.Sockets 네임스페이스

### System.Net.Sockets 네임스페이스 네트워크에 대한 엑세스를 엄격하게 제어해야하는 개발자를 위해서Windows Socket(Winsock) 관련 인터페이스를 제공하는 네임스페이스.해당 네임스페이스 하위의 TcpClient, TcpListener 및 UdpClient 클래스는TCP/UDP 방식으로 인터넷에 연결하기 위한 자세한 정보를 캡슐화하여네트워크 서비스에 대한 클라이언트 연결 제공 및 클라이언트에서 연결을 수신하는 서비스를 제공함. ## NetworkStream 클래스 네트워크 액세스를 위한 내부 데이터 스트림 제공.NetworkStream을 만들려면 연결된 Socket을 제공해야 함.제공된 Socket에 대해 NetworkStream이 가지는 FileAccess 사용 권한을 정지할..

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 {...} 매개변수가 동일한 생성자가 여러 개의 부분 선언에 포함되어 있는 경우처럼 멤버들이 충돌해선 안 됨.부분 형식은 전적으로 컴파일러가 처리해,모든 부분 선언이 갖추어져야 하며, 반드시 어셈블리 안에 있..

C#] 상수(Constant)

상수 필드(constant field) 값을 결코 바꿀 수 없는 정적 필드컴파일 시점에서 정적으로 평가되며, 컴파일러는 상수가 쓰이는 곳마다 그 값을 직접 삽입하며,이는 C++의 매크로와 상당히 유사한 면을 띔.타입으로는 내장 수치 타입들과, bool, char, string, 열거형을 사용 가능상수 선언 시, const 키워드를 반드시 써줘야 하며, 초기치도 반드시 지정해야 함. 메서드에 국한된 지역 상수 사용을 가능하게 함.지역 상수가 아닌 상수의 경우 다음과 같은 수정자들을 적용할 수 있음.public internal private protected, new 사용할 수 있는 형식 면에서나 필드 초기화 방식에서나, static readonly 필드보다 훨씬 제한적임.컴파일 시점에서 평가된다는 점 역시..

C#] 속성(Property

속성(Property) 겉으로 보기에는 필드 같으나 내부적으로는 메서드처럼 논리 코드를 가진 멤버아래 코드만 봐서는 필드인지 속성인지 구별이 불가능함 Stock msft = new Stock(); msft.CurrentPrice=30; msft.CurrentPrice-=3; Console.WriteLine(msft.CurrentPrice); 만일 여기서 CurrentPrice가 속성일 때 구현 예시는 아래와 같다. public class Stock { decimal currentPrice; // 전용 필드 public decimal CurrentPrice // 공용 속성 { get { return currentPrice; } set { currentPrice=value; } } } 속성도 필드처럼 그 형..

C#] 인스턴스 생성자

인스턴스 생성자 클래스나 구조체의 인스턴스를 초기화하는 함수 멤버생성자의 정의는 메서드와 유사하나, 메서드 이름과 반환 형식이 생성자가 속한 형식의 이름을 따름 - 인스턴스 생성자에 적용할 수 있는 수정자 접근 수정자public internal private protected비관리 코드 수정자unsafe extern - 중복적재 중복적재한 경우 this 키워드를 이용해 다른 생성자를 호출해 중복을 피함한 생성자가 다른 생성자를 호출할 경우, 호출된 생성자가 선행적으로 실행됨. 다른 생성자에 표현식을 넘겨주는 것도 가능하나,this를 통해 어떤 인스턴스 메서드를 호출할 수 없기 때문에표현식 자체에서 this 참조는 사용할 수 없음.정적 메서드는 호출이 가능함. 해당 제약은, 생성자의 현재 단계에서 객체가 ..

C#] using static 지시자

C# 6.0에서부터는 namespace가 아니라 특정 형식을 using static 지시자를 이용해 도입 가능 그렇게 사용하면, 해당 형식의 모든 정적 멤버가 도입되어, 그 후부터 그 멤버의 형식 이름을 지정하지 않고 사용이 가능해짐. using static System.Console; class Test { static void Main() { WriteLine("Hello!"); } } using static 지시자는 주어진 형식의 모든 접근 가능한 정적 멤버를 도입하기 때문에, 정적 메서드만이 아니라 정적 필드, 속성, 내포된 형식도 도입함. 열거형에 대해서도 이 지시자를 적용할 수 있으며, 열거형의 모든 멤버가 도입됨. 따라서, using static System.Windows.Visibility..

JavaScript] 내장 객체

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

728x90