최신 포스트
-
Java - JSR223 스크립트 API
개요 Java Scripting API (JSR223)은 프로그램 내부에서 다른 언어로 작성된 스크립트를 실행하는 기능을 제공한다. Java 1.6부터 출시된 이래 많은 개발자들이 이용하고 있다. javax.script 패키지 안에 API를 확인할 수 있다. JSR223의 패키지 내용을 조사해보면 세 가지 구성요소를 볼 수 있다. ScriptEngine - 스크립트를 해석하고 실행한다. ScriptEngineManager - 스크립트 엔진을 색인, 제공한다. ScriptEngineFactory - 엔진 구현에 필요한 인터페이스 사실 ScriptEngine은 추상 클래스이고, 이를 구현한 스크립트 엔진을 따로 설치해야 한다. 먼저 빌드툴이나 IDE 등 의존성 관리 도구를 통해 스크립트 엔진을 설치하자. (..
-
3-3. Kotlin 클래스 추상화
본 내용은 kotlinlang.org 공식 문헌과 기타 자료들을 바탕으로 필자가 학습한 내용을 정리한 것입니다. 필자의 허락 없이 글을 상업적 목적으로 인용, 수정, 재배포할 수 없습니다. 내용의 오류 지적은 덧글로 받습니다. 추상 클래스 abstract class Juice(val type: String) { // 추상 클래스 val volume = 100 // 오버라이드 불가 abstract fun print() // 추상 멤버 } class OrangeJuice : Juice("orange") { override fun print() { println("I'm orange juice.") } } 추상 클래스는 추상화된 멤버를 가질 수 있다는 것을 제외하면 일반 클래스와 똑같다. abstract 키워..
-
3-2. Kotlin 클래스 상속
본 내용은 kotlinlang.org 공식 문헌과 기타 자료들을 바탕으로 필자가 학습한 내용을 정리한 것입니다. 필자의 허락 없이 글을 상업적 목적으로 수정, 재배포할 수 없습니다. 내용의 오류 지적은 덧글로 받습니다. 최상위 클래스 / Any 모든 클래스는 공통적으로 Any를 상속하는데, 부모 클래스를 정의하지 않아도 마찬가지다. Any 클래스가 갖는 메서드는 두개지요! 3개입니다. equals() - 두 객체가 서로 일치하는 값인지 조사하는 함수 hashCode() - 두 객체의 메모리 주소가 일치하는지 조사하는 함수 toString() - 객체 정보를 문자열로 변환하는 함수 상속 / Inheritance // 부모 클래스 open class Base { constructor(x: Int) const..
-
3-1. Kotlin 클래스 생성자
본 내용은 kotlinlang.org 공식 문헌과 기타 자료들을 바탕으로 필자가 학습한 내용을 정리한 것입니다. 필자의 허락 없이 글을 상업적 목적으로 인용, 수정, 재배포할 수 없습니다. 내용의 오류 지적은 덧글로 받습니다. 독자가 객체지향 프로그래밍을 알고 있다는 가정하에 이 글을 작성하였다. 클래스와 객체의 개념 설명은 기회가 되면 따로 작성할 생각이다. 클래스 형태 class Main { // Body } // No body class Empty class 키워드로 클래스를 선언한다. 몸체가 없으면 중괄호(braces)를 생략할 수 있다. 생성자 class Human constructor(name: String) { // 초기 생성자 val myName = name // 프로퍼티 (Java 멤버 ..
-
3. Kotlin 클래스
본 내용은 kotlinlang.org 공식 문헌과 기타 자료들을 바탕으로 필자가 학습한 내용을 정리한 것입니다. 필자의 허락 없이 글을 상업적 목적으로 인용, 수정, 재배포할 수 없습니다. 내용의 오류 지적은 덧글로 받습니다. 클래스를 종류, 구성요소, 기능에 따라 분류하여 나열하였습니다. 아래 내용의 전부는 어렵겠습니다만, 향후 포스팅으로 가능하면 많이 커버하겠습니다. 하이퍼링크를 클릭하면 커버된 내용을 자세히 확인할 수 있습니다. 클래스 종류 일반 클래스 (Class) 추상 클래스 (Abstract) 인터페이스 (Interface) 열거형 클래스 (Enum) 데이터 클래스 (Data) 봉인된 클래스 (Sealed) 인라인 클래스 (Inline) 구성 요소 클래스 멤버들은 다음과 같다: 클래스 헤더 (..