목록언어 (11)
굥뷰를 햡시댜
WinAPI를 이용해 간단하게 디스크 용량을 확인하는 방법이 있다. 바로 GetDiskFreeSpaceEx라는 함수를 사용하면 쉽게 구할 수 있다. 사용 방법은 간단하다. ULARGE_INTEGER avail_memory, total_memory, free_memory; TCHAR pPath[256] = "C:\"; memset(&avail_memory, 0, sizeof(avail_memory)); memset(&total_memory, 0, sizeof(total_memory)); memset(&free_memory, 0, sizeof(free_memory)); GetDiskFreeSpaceEx(pPath, &avail_memory, &total_memory, &free_memory); //MB단위로..
- A2T(), T2A() Visual Studio를 사용해 한글을 출력할 때 한글 문자가 깨지는 경우가 있다. 이것은 기본적으로 Visual Studio에서 프로젝트를 생성할 때 Ansi(미국 국립 표준 뭐더라.. 아무튼 구글에 검색하면 나옴) 기반으로 프로젝트가 생성되기 때문이다. 이 때 한글 문자는 깨지게 되며 우리는 이를 방지하기 위해 컴퓨터에서 모든 문자를 지원해주는 Unicode를 사용해야 한다. 물론, 프로젝트를 생성할 때 설정 자체를 바꾸는 방법도 있지만 내부 메소드를 사용해 이를 막을 수 있다. 그 메소드가 바로 A2T() 이다. 사용 방법은 간단하다. 1. #include 헤더를 추가한다. 2. 유니코드를 사용하려는 메소드 내부에 USES_CONVERSION;을 선언한다. 3. A2T(..
앞으로 이 카테고리에 WTL의 클래스, 메소드에 대해 알게된 내용들을 공부겸 리마인드겸 정리할 예정이다. 요즘에는 사용하는 사람이 급격히 줄어 예전(거의 10년 전...) 자료밖에 없는 만큼 내가 새로 정리하면 의미가 있을 거라고 생각한다.
1. Property 선언 코틀린 클래스는 Property를 가질 수 있음( var(mutable) / val(read-only) ) class Address { var name: String = "Kotlin" val city: String = "Seoul" } Property 사용은 자바의 필드를 사용하듯이 하면 됨 fun copyAddress(address: Address): Address { val result = Address() result.name = address.name //... return result } 2. Property 문법 //전체 문법 var [: ] [= 생략 가능한 옵션들 -> PropertyType - property_initializer로 타입을 추론 가능할 경우 생..
1. 상속 Kotlin에서 최상위 클래스는 Any 입니다. 클래스에 상위타입을 선언하지 않으면 Any가 자동으로 상속됩니다. class Example1// Any 자동 상속 class Example2 : Any() // Any라는 클래스를 상속 -> Any자리에 클래스 이름이 들어오면 ok Any는 java.lang.Object와는 다른 클래스 입니다. -> (equals(), hashCode(), toString()만 있음) package kotlin public open class Any { public open operator fun equals(other: Any?): Boolean public open fun hashCode(): Int public open fun toString(): Stri..
1. 클래스 클래스는 class 키워드로 선언 //class, 클래스 이름, 클래스 헤더(형식 매개변수, 기본 생성자 등), 클래스 바디로 구성 class Invoice(data: Int) { } 헤더와 바디는 옵션, 바디가 없으면 {} 생략 가능 class Empty *Kotlin에서는 기본 생성자와 보조생성자가 분리됨 -> 이것들을 좀 잘 알아놔야 합니다!! 2. 기본 생성자(Primary Constructor) 클래스 별로 1개만 가질 수 있음 클래스 헤더의 일부 클래스 이름 뒤에 작성 class Person constructor(firstName: String) { } 어노테이션이나 접근지정자가 없을 때는, 기본생성자의 constructor 키워드를 생략가능 class Person(firstNam..
1. Packages Kotlin에서 소스 파일은 패키지 선언으로 시작됩니다. 모든 콘텐츠(클래스, 함수, ....)는 패키지에 포함됩니다. 패키지를 명세하지 않으면 이름이 없는 기본 패키지에 포함됩니다. -> 따로 import하지 않고 그냥 써도 무방함 package foo.bar fun baz() {} class Goo{} fun main(args: Array) { foo.bar.baz() foo.bar.Goo() } 2. 기본 패키지 package를 import하지 않으면 기본으로 import되는 package가 있습니다. 플랫폼 별로 import되는 package는 다른 부분도 있습니다. //기본으로 import되는 패키지! kotlin.* kotlin.anootation.* kotlin.coll..
1. if else 문 Java와 거의 유사함 ex) 아래와 같이 사용하면 됩니다. var max: Int if(a>b) { max = a } else { max = b } 2. if else 문 if문이 식으로 사용되는 경우 값을 반환함 if식의 경우 반드시 else를 동반해야 함 ex) 아래 코드처럼 if문이 식으로 사용되는 경우 else를 반드시 동반해야 함(+ a, b는 반환되는 값) val max = if(a>b) a else b if식의 branches들이 블록을 가질 수 있음 {...} 블록의 마지막 구문이 반환값이 됨 val max = if(a>b) { print("Choose a") a//반환값 } else { print("Choose b") b//반환값 } 삼항연산자가 없음 -> if문..