자바

스프링 프레임워크(Spring Framework) 개발 환경 설정하기 스프링 개발에서 가장 많이 사용하는 통합 개발도구는 Eclipse 기반으로 개발된 Spring Tool Suite(STS)를 이용하거나, Intellij 또는 Eclipse 플러그인의 형태로 사용하는 경우가 많습니다. 일반적으로 STS를 이용하여 진행되며 이를 사용하기 위해 사전에 JDK의 설치가 필요합니다. 개발 환경 구성을 위해서 다음의 프로그램을 각각의 버전에 맞춰서 설치를 해줘야합니다. (각 프로그램의 버전은 설치 당시의 버전을 기준으로 작성했습니다.) IDE - Eclipse IDE for Java EE Developers (2018-09 Window 64bit) Java - JDK 1.8.0_202 (JDK 1.6 이상 권장..
인터페이스 인터페이스(interface)는 일종의 추상클래스이며 추상클래스보다 추상화 정도가 더 높습니다. 추상클래스를 미완성 설계도로 비유한다면 인터페이스는 기본 설계도에 비유할 수 있습니다. 인터페이스는 다른 클래스 작성에 도움을 주거나 서로 무관한 클래스들에게 관계를 맺어줄 목적으로 사용됩니다. 인터페이스의 특징을 정리하면 다음과 같습니다. - class 키워드 대신 interface 키워드를 사용하여 정의- 인스턴스 생성 불가- 모든 멤버변수에는 public static final 제어자가 붙음 (생략 가능)- 모든 메서드는 public abstract 제어자가 붙음 (생략 가능) ※ 제어자 생략시 컴파일러가 자동으로 추가. 1.1 인터페이스의 생성 다음과 같이 class 키워드 대신 interf..
추상클래스 추상클래스(abstract class)는 미완성 설계도로 비유할 수 있는 구체화되지 않은 클래스입니다. 미완성의 추상 메서드를 포함하고 있으며, 반드시 상속을 통해 완성한 후 사용할 수 있습니다. 따라서 추상클래스 자체로는 인스턴스 생성이 불가능합니다. 추상클래스는 추상메서드 외에도 일반적인 멤버변수와 메서드, 생성자도 포함합니다. 추상클래스의 특징을 정리하면 다음과 같습니다. - 클래스 앞에 abstract 키워드를 붙여서 정의- 인스턴스 생성 불가- 추상 메서드를 포함 (그 외 멤버변수, 메서드, 생성자도 포함 가능) 다음과 같이 클래스 앞에 abstract 키워드를 붙여서 추상클래스를 생성합니다. abstract class [클래스명] {// 클래스 내용} ※ 추상메서드가 없어도 클래스에..
다형성 다형성(polymorphism)는 상속과 함께 객체지향에서 중요한 요소 중 하나입니다. 다형성이란 여러 형태를 가질 수 있는 특성을 의미하며 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 구현한 기능입니다. 다음 예제를 통해 다형성에 대해 확인해보겠습니다. class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv { String text; void caption() {}; }위의 코드를 기준으로 다음과 같이 인스턴스를 생성하여 참조할 수..
package & import 1. package 패키지(package)는 서로 관련된 클래스나 인터페이스를 그룹 단위로 묶은 것을 의미합니다. 또한 우리가 사용하는 클래스의 전체 이름(full name)은 패키지명까지 포함된 이름입니다. 패키지는 다음과 같이 작성하여 사용합니다. package 패키지명; 패키지의 특징을 정리하면 다음과 같습니다. - 많은 소스파일을 효율적으로 관리하기 위해 사용. - 모든 클래스는 반드시 하나의 패키지에 속해야 함. - 하나의 소스 파일에서 첫 문장으로 하나의 패키지 선언만 허용. - 물리적인 디렉터리이며 '.'을 구분자로 사용하는 계층구조. ※ 이름없는 패키지(unnamed package) 소스파일에 패키지를 지정하지 않을 경우 자바는 자동으로 이름없는 패키지에 해당..
super & super() 1. super super는 자식 클래스가 부모 클래스로부터 상속받은 멤버를 참조할 때 사용하는 참조 변수입니다. 클래스 내의 멤버변수와 지역변수의 이름이 같을 경우 구분을 위해 this를 사용하듯이 부모 클래스와 자식 클래스의 멤버의 이름이 같을 경우 super를 사용합니다. this와 super는 인스턴스의 주소값을 저장하는데 static 메서드(클래스 메서드)와는 무관하게 사용됩니다. 다음 예제 코드를 통해 super에 대해 확인해보겠습니다.class JavaApp { public static void main(String[] args) { Child child = new Child(); child.childMethod(); } } class Parent { int x ..
Google Vision API(OCR) 설치 및 사용하기 Eclipse 및 Ubuntu 환경에서 Java 기반으로 Google Vision API를 설치하여 사용하는 방법에 대해 알아보겠습니다.Google Vision API는 이미지 컨텐츠 분석 기능을 제공하며 좀 더 자세한 내용은 아래 링크에서 확인하실 수 있습니다. https://cloud.google.com/vision/ 먼저 다음 링크를 참고하여 Google Cloud Platform 에서 Vision API 사용을 위한 설정을 해줍니다. https://cloud.google.com/vision/docs/quickstart Google API를 사용하기 위해서는 Google Cloud Platform으로 이동하여 다음과 같이 project se..
· Apache/Nutch
아파치 너치(Apache Nutch) 설치하기 우분투 환경에서 아파치 너치(Apache Nutch)의 설치 방법에 대해 알아보겠습니다. (2.x 버전을 기준으로 설치를 진행했습니다) Apache Nutch Download 아래 경로에서 Apache Nutch를 다운로드 받습니다. http://nutch.apache.org/downloads.html 2.3.1 버전의 src.tar.gz 파일을 다운로드 받습니다. 위의 페이지로 이동하게 되는데 미러 사이트 링크를 클릭하여 다운로드 해줍니다. Apache Nutch 설치 Apache Nutch의 설치에 앞서 사전에 Apache Ant와 Java 및 MySQL을 설치해줘야 합니다. Java 설치http://freestrokes.tistory.com/entry/..
SSL 관련 Exception 해결하기 SSL(Secure Socket Layer)이 적용된 https 프로토콜 사이트에 대해 connection 구성시 발생하는 Exception의 해결방법에 대해 알아보겠습니다. 1. SSLHandshakeException Java에서 https 프로토콜로 remote 사이트에 연결시 다음과 같은 Exception이 발생하는 경우가 있습니다. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 위의 에러는 server와 client 간에 사용하는 SSL/TLS 버전이 맞지 않기 때문에 발생합니다.server가 ..
freestrokes
'자바' 태그의 글 목록 (2 Page)