본문 바로가기

분류 전체보기

(191)
[JAVA 이론] 날짜와 시간 & 형식화 Calendar와 Date Caleandar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = new Calendar(); //에러!! 추상클래스는 인스턴스를 생성할 수 없다. //OK, getInstance()메서드는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환한다. Calendar cal = Calendar.getInstance(); Calendar를 받아 완전히 구현한 클래스로 GregorianCalendar와 BuddhistCalendar(태국력)가 있다. 인스턴스를 직접 생성해서 사용하지 않고 이처럼 메서드를 통해서 인스턴스를 반환받게 하는 이유는 최소한의 변경으로 프로그램이 동작할 수 있..
[JAVA 이론] java.lang package & util classes java.lang패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. 그렇기 때문에 java.lang패키지의 클래스들은 import문 없이도 사용할 수 있게 되어 있다. Object클래스 Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다. Object클래스는 맴버변수는 없고 오직 11개의 메서드만 가지고 있다. 이 메서드들은 모든 인스턴스가 가져야 할 기본적인 것들이다. protected Object clone() 객체 자신의 복사본을 반환한다. cloneable인터페이스를 구현 클래스의 인스턴스만 clone()을 통한 복제가 가능한데, 그 이유는 인스턴스의 데이터를 보호하기 위해서이다. - 공변 반환타입 JDK1.5부..
[JAVA 이론] 예외처리 예외처리 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외 클래스의 계층구조 - 예외 클래스 계층도 - Exception클래스와 RutimeException클래스 중심의 상속 계층도 Exception클래스들 //사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException클래스들 //프로그래머의 실수로 발생하는 예..
[JAVA 이론] 클래스(추상, 인터페이스, 내부, 익명) 추상클래스 추상클래스는 미완성 된 클래스이다. 따라서, 추상클래스 특징 1. 추상클래스로 인스턴스는 생성할 수 없다 2. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성 될 수 있다. 3. 추상클래스 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서 중요한 의미를 갖는다. 4. 새로운 클래스를 작성할 때 아무 것도 없는 상태에서 시작하는 것보다는 완전하지는 못하더라도 어느 정도 틀을 갖추게 해준다. 추상메서드 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이 추상메서드이다. 추상메서드 특징 1. 미완성 상태로 남겨 놓는 이유는 메서드의 내용이 상속받은 클래스에 따라 달라질 수 있기 때문이다. 2. 조상 클래스에서는 선언부만 작성하고, ..
[JAVA 이론] 다형성 다형성 객체지향개념에서 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조 할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 즉, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다. class Parent{ /* 내용 생략 */ } class Child extends Parent{ /* 내용 생략 */ } Child c = new Child(); Parent p = new Child(); //가능 //둘 다 같은 타입의 인스턴스지만 참조변수의 타입에 따라 사용할 수 있는 맴버의 개수가 달라진다. 다형성의 특성 1. 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다. 2. 반대로 자손타입의 참..
[JAVA 이론] 상속 상속 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 조상 클래스: 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 자식 클래스: 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스 class Parent{ } class Child extends Parent{ } 상속의 장점 1. 코드의 재사용성이 높아진다. 2. 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 상속의 특징 1. 생성자와 초기화 블럭은 상속되지 않는다. 맴버만 상속된다. 2. 자손 클래스의 맴버 개수는 조상 클래스보다 항상 같거나 많다. 3. 접근 제어자가 private 또는 default인 맴버들은 상속되지 않는다기보다 상속은 받지만 자손 클래..
[스프링] Maven build error 메이븐을 build 하는 과정에서 아래와 같은 에러가 날 때가 있습니다. The method getTextContent() is undefined for the type Node 문제 원인 자바 실행 도구에 문제가 생긴 것입니다. 이클립스에는 기본적으로 자바 실행 도구가 JRE(Java Runtime Environment) 로 연결이 되어 있습니다. 하지만 해당 환경에서는 JRE 가 아닌 JDK(Java Development Kit)를 필요로 합니다. 문제해결 properties > Java Build Path > edit > jdk로 변경
[JAVA] JRE System Library 우선 순위 문제 자바 프로그래밍을 하는 과정에서 아래와 같은 에러가 날 때가 있습니다. The method getTextContent() is undefined for the type Node 문제 원인 다른 버전의 org.w3c.dom.Node를 사용하여 나오는 문제이다. 문제해결 JRE System Library를 다른 라이브러리들보다 우선순위를 위로 올리면 된다. 그러면 해당 클래스를 우선순위가 높은 JRE에 있는 파일로 사용하게 된다. properties > Java Build Path