ASP/ADO.Net C# 실무 과정 자료]  파일 정보 클래스 (FileSystemInfo)







ASP/ADO.Net C# 실무 과정 자료]  파일 정보 클래스 (FileSystemInfo)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


파일 정보 클래스 (FileSystemInfo)


■ 파일에 대한 정보 구하기

using System.IO

FileInfo fileInfo = new FileInfo(파일명)

  * 파일명 = @“C:\temp\ABC.txt” 와 같은 문자열



■디렉토리에 대한 정보 구하기

DirectoryInfo = new DirectoryInfo(디렉터리명)



■ @연산자 내부의 문자열은 \를 \\로 바꿀 필요가 없다. 파일 명은 \가 많이 포함되기 때문에 @을 쓰는 것이 편리하다.

    @“C:\temp\ABC.txt” = “C:\\temp\\ABC.txt”



ASP/ADO.Net C# 실무 과정 자료] 박싱과 언박싱 방법






ASP/ADO.Net C# 실무 과정 자료] 박싱과 언박싱 방법

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


박싱과 언박싱 방법


int i = 1;

object box;


box = i; //←묵시적 박싱

box = (Object) i; //←명시적 박싱

i= (int) box; //←명시적 언박싱

i= box; //←묵시적 언박싱(에러)


■ 박싱 된 객체는 프로그래밍 하기 쉽다. 따라서 박싱 개념을 모른채 프로그래밍을 하고, 이후에 언박싱을 이용해 시스템 성능을 높이는게 좋다.



ASP/ADO.Net C# 실무 과정 자료] 박싱(Boxing)과 언박싱(Unboxing)







ASP/ADO.Net C# 실무 과정 자료] 박싱(Boxing)과 언박싱(Unboxing)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


박싱(Boxing)과 언박싱(Unboxing)


■ CLS를 준수하는 C#의 모든 형식은 객체다. 단순한 형식(int, double) 들도 모두 객체의 틀을 입혀놓았다. 하지만 객체의 틀을 입히는 것은 메모리 사용과 연산의 양을 증가시킨다.


■ 따라서 C#에서는 객체에 대한

참조형식<->값형식  변환을 지원하게 되었다.

그리고 이런 변환은 참조형식, 값형식 모두 같은 모양으로 보이게 한다.(Unified view)


박싱: 값형식->참조형식

언박싱: 값형식<-참조형식


ASP/ADO.Net C# 실무 과정 자료] as 연산자






ASP/ADO.Net C# 실무 과정 자료] as 연산자

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


as 연산자


(오브젝트) as (클래스나 인터페이스)

■ 호환성 테스트 후 형 변환까지 하는 연산자이며, 호환될 경우 형변환 결과를 반환, 호환되지 않을 경우 null을 반환한다.


■ b = a as Car ? → a가 Car 클래스로 캐스팅될 수 있으면 b=(Car) a, 캐스팅이 불가능하면 b=null


■ a as B ↔(a is B)? (B)a : null


■ 업캐스팅 예제 ← (0) 부분에 다음을 삽입해 보면,

sonata = boxter as Car  sonata = (Car) boxter



ASP/ADO.Net C# 실무 과정 자료] is 연산자







ASP/ADO.Net C# 실무 과정 자료] is 연산자

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


is 연산자


(오브젝트) is (클래스나 인터페이스)

■ 호환성 테스트 연산자이며, true / false 를 반환한다.


■ a is Car → a가 Car 클래스로 캐스팅될 수 있는가? 의 의미이다.


■ 업캐스팅 예제 ←(0) 부분에 다음을 질의해 보면,

sonata is Car // true

sonata is SportsCar // false

boxter is Car // true

boxter is SportsCar // true



ASP/ADO.Net C# 실무 과정 자료] 다운캐스팅






ASP/ADO.Net C# 실무 과정 자료] 다운캐스팅

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


다운캐스팅


■ 부모 클래스의 객체를 자식 클래스의 객체로 만드는 것을 말한다.

예) class SportsCar : Car 라고 하자

SportsCar a=new Car();

Car b=(Car) a; //←(1)

Car c= a;        //←(2)


■ (1) 명시적인 변환은 동작한다. 이 때, 변환이 제대로 일어나지 않는다면 InvalidCastException 예외를 발생시킨다.


■ (2) 묵시적인 변환은 컴파일 에러를 발생시킨다. 따라서 사용할 수 없다.



ASP/ADO.Net C# 실무 과정 자료] 업캐스팅






ASP/ADO.Net C# 실무 과정 자료] 업캐스팅

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


업캐스팅


■ 자식 클래스의 객체를 부모클래스의 객체로 만드는 것을 말한다.

예) class SportsCar : Car 라고 하자

Car a=new Car();

SportsCar b=(SportsCar) a; // ←(1)

SportsCar c= a; // ←(2)


■ 자식클래스는 부모 클래스의 멤버를 내부적으로 모두 가지고 있기 때문에, 자식 클래스의 일부분을 이용해 부모 클래스를 만드는 것은 가능하다.


■ 위의 예제는 (1)(2) 모두 문제 없이 동작한다. (1)은 명시적인 변환 (2)는 묵시적인 변환이다

ASP/ADO.Net C# 실무 과정 자료] 데이터 변환 (Data Conversion)






ASP/ADO.Net C# 실무 과정 자료] 데이터 변환 (Data Conversion)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


데이터 변환 (Data Conversion)


■ 데이터 변환 방법(Review)

  - a=(int) b; 형 변환 연산자


  - int.Parse(); ToString() 등의 메소드


  - System.Convert 클래스


■  부모 객체와 자식 객체 간의 형식 변환

  - 업캐스팅 (자식 -> 부모)

    * 언제나 완전 호환 됨. 확장된 형식을 원래로 되돌리기 때문


  - 다운캐스팅 (부모 -> 자식)

    * 동작이 보장되지 않음. 자식 클래스가 더 확장되어 있기 때문이다.



+ Recent posts