본문 바로가기

java3

final / @override 12/15 final 과 @override 는 둘 다 Java 외에 C++, Kotlin 등에도 있는 상속 관련 키워드이지만, Java 를 사용하다가 처음 발견했기 때문에 Java 로 남겼다.@override@override 는 부모 클래스에 이미 있는 메서드를, 자식 클래스에서 내가 원하는 대로 다시 정의하겠다 는 것을 명시하는 Annotation 이다.사용하는 이유로는,컴파일러 안전장치개발자가 실수로 메서드 이름을 잘못 적거나, 매개변수를 틀리게 적었을 때 컴파일러에서 에러를 발생시켜 실수를 즉시 확인할 수 있다.가독성 향상이 메서드가 자체적으로 새로 만든 것이 아니라 상속받은 기능을 변경한 것임을 한눈에 알 수 있다.다형성 구현부모 타입의 변수로 자식 객체를 호출하더라도, @override 된 자.. 2025. 12. 22.
Maven 12/12 Apache MavenMaven 은 Apache 에서 개발한, Java 기반 프로젝트의 빌드 및 라이프사이클 관리를 자동화하는 도구. 소프트웨서 빌드, 테스트, 패키징, 배포, 라이브러리 의존성 관리를 이거 하나로 다 할 수 있다. 주요 특징 프로젝트 객체 모델 (POM)Maven 은 pom.xml 이라는 XML 파일을 사용하여 프로젝트의 모든 설정(의존성, 빌드 설정, 버전 정보 등) 을 정의한다. 이 파일을 통해 프로젝트의 구조와 빌드 과정을 표준화할 수 있다.자동 의존성 관리프로젝트에서 필요한 외부 라이브러리(JAR, WAR 등) 를 pom.xml 에 명시하면, Maven 이 중앙 저장소에서 자동으로 해당 라이브러리와 필요한 하위 라이브러리들까지 다운로드하여 관리한다.표준화된 디렉터리와 .. 2025. 12. 13.
JNI 12/10 JNIJNI 는 Java Navtive Interface 로, 자바 가상 머신(JVM) 에서 실행되는 Java 코드가 C, C++ 같은 네이티브 애플리케이션 및 라이브러리와 상호 운용할 수 있도록 해주는 프로그래밍 프레임워크이다.안드로이드에서는 NDK(Native Development Kit) 을 제공하여 Native 언어를 사용할 수 있도록 지원하는 중. 목적플랫폼별 기능 활용표준 Java 클래스 라이브러리가 지원하지 않는, 하드웨어 또는 운영 체제 플랫폼별 기능(e.g. 특정 I/O, 스레딩, 네트워킹 기능 등) 에 접근할 수 있다.기존 네이티브 코드 재사용이미 다른 언어로 작성된 방대한 양의 기존 라이브러리나 레거시 코드를, Java 애플리케이션 내에서 재사용할 수 있게 된다.성능 향.. 2025. 12. 12.