목록Tutorials (196)
KoreanFoodie's Study
깃헙을 통해 모던 C++를 중심으로, 모던 C++의 기초 내용 중, 기억하면 좋을 부분만 간추려 Github에 정리중입니다. 예제 소스 코드는 모두의 코드의 씹어먹는 C++ 강좌를 참고했습니다. 정말 좋은 소스니 꼭 한 번 보시라고 권하고 싶습니다. CPP Review CPP Review following lectures from here, Effective C++ and Effective Modern C++. Also cover other references & codes 1. Namespace 2. References Reference is a nickname. Therefore it cannot be used alone, it needs original name to exist! Can't assi..
double square_root(double x) noexcept {...} '모던 C++ 입문'을 읽으며 내용을 정리하고 중요한 부분을 기록하는 글입니다. 모던 C++ 입문 1 - C++ 기초 (초기화, 리터럴, 예외, 포인터) 변수 변수는 가능한 늦게 선언하라. 일반적으로 초기화를 하기 전에는 선언하지 않는 것이 좋다. 리터럴 값 뒤에 문자를 붙여 리터럴임을 표시할 수 있다. 리터럴 타입 2 int 2u unsigned 2l long 2ul unsigned long 2.0 double 2.0f float 2.0l long double 유용함 : 표준 라이브러리는 복소수를 위한 타입을 제공한다. std::complex z(1.3, 2.4), z2; 불행하게도 float이외의 타입과 연산이 불가능하다...
플러그인 정의 모든 플러그인은 META-INF/MANIFEST.INF 파일을 포함한다. MANIFEST 파일은 ID, 버전, 이름 등의 정보를 갖고 있다. Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Favorites Plug-in Bundle-SymbolicName: com.qualityeclipse.favorites; singleton:=true Bundle-Version: 1.0.0 Bundle-ClassPath: favorites.jar Bundle-Activator: com.qualityeclipse.favorites.FavoritesPlugin Bundle-Vendor: Quality Eclipse Bundle-Localizati..
자바는 C++에 비해 API 사용이 더 수월한 편이다. 먼저 java.lang 패키지에 속하는 주요 클래스와 간략한 용도를 찾아보자. Object 클래스 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않더라도 암시적으로 java.lang.Object 클래스를 상속하게 된다. 따라서 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다. 객체 해시코드 ( hashCode() ) 객체 해시코드란 객체를 식별하는 하나의 정수값을 말한다.
이클립스 실전 플러그인 개발 소스코드입니다.
사용자 정의 예외와 예외 발생 프로그램을 개발하다 보면 자바 표준 API에서 제공하는 예외 클래스만으로는 다양한 종류의 예외를 표현할 수가 없다. 애플리케이션 서비스와 관련된 예외를 애플리케이션 예외 (Application Exception)이라고 한다. 이는 개발자가 직접 정의해서 만들어야 하므로 사용자 정의 예외라고도 한다. 사용자 정의 예외 클래스 선언 사용자 정의 예외 클래스는 컴파일러가 체크하는 일반 예외로 선언할 수도 있고, 컴파일러가 체크하지 않는 실행 예외로 선언할 수도 있다. 일반 예외로 선언할 경우 Exception을, 실행 예외로 선언할 경우 RuntimeException을 상속하면 된다. public class SOME_Exception extends [ Exception | Run..
자동 리소스 닫기 자바 7부터는 try-with-resources를 사용하면 예외 발생 여부와 상관없이 상요해던 리로스 객체(각종 입출력 스트림, 서버 소켓, 각종 채널)의 close() 메소드를 호출해서 안전하게 리소스를 닫아준다. 리소스라는 말이 여러 가지 의미가 있겠지만 여기서는 데이터를 읽고 쓰는 객체라고 생각해 두자. FileInputStream fis = null; try { fis = new FileInputStream("file.txt"); } catch (IOException e) { ... } finally { if (fis != null) { try { fis.close(); } catch (IOException e) {} } } 파일을 사용할 때는 try-catch를 사용해서 clo..
예외와 예외 클래스 JVM 실행에 문제가 생겼을 때, 우리는 에러를 마주하게 된다. 자바에서는 에러 이외에 예외(exception)라고 부르는 오류가 있는데, 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생되면 프로그램은 곧바로 종료하지만, 예외 처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 예외는 두 가지 종류가 있다. 하나는 일반 예외(Exception)이고, 다른 하나는 실행 예외(Runtime Exception)이다. 일반 예외는 컴파일러 체크 예외라고도 하는데, 자바 소스를 컴파일 하는 과정에서 예외 처리 코드가 필요한지 검사하기 때문이다. 만약 예외 처리 코드가 ..
익명 객체 익명(anonymous) 객체는 이름이 없는 객체를 말한다. 익명 객체는 단독으로 생성할 수 없고 클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있다. 익명 객체는 필드의 초기값이나 로컬 변수의 초기값, 매개 변수의 매개값으로 주로 대입된다. UI 이벤트 처리 객체나 스레드 객체를 간편하게 생성할 목적으로 익명 객체가 많이 활용된다. 익명 자식 객체 생성 부모 타입으로 필드나 변수를 선언하고, 자식 객체를 초가값으로 대입할 경우를 생각해보자. 우선 부모 클래스를 상속해서 자식 클래스를 선언하고, new 연산자를 이용해서 자식 객체를 생성한 후, 필드나 로컬 변수에 대입하는 것이 기본이다. class Child extends Parent { } // 자식 클래스 선언 class A { P..
중첩 클래스 중첩 클래스를 사용하면 코드의 복잡성을 줄일 수 있다! 중첩 클래스는 클래스 내부에 선언되는 위치에 따라서 두 가지로 분류된다. 클래스의 멤버로서 선언되는 중첩 클래스를 멤버 클래스라고 하고, 메소드 내부에서 선언되는 중첩 클래스를 로컬 클래스라고 한다. 멤버 클래스는 객체가 사용 중일때는 언제든지 재사용이 가능하지만, 로컬 클래스는 메소드 실행 시에만 사용되고, 메소드가 실행 종료되면 없어진다. public class A { class B {...} // 인스턴스 멤버 클래스 static class C {...} // 정적 멤버 클래스 void method() { class D {...} } // 로컬 클래스 } 멤버 클래스도 하나의 클래스이기 때문에 컴파일하면 바이트 코드 파일(.clas..