본문 바로가기

Dev. Java

(76)
자바에서 구성이란? 구성이란 클래스의 특정 기능을 수행하기 위해 다른 '객체 패밀리'의 유사하거나 같은 역할을 하는 메소드를 사용하기 위해 클래스들끼리 대등한 관계로 결합된 구조이다. 이렇게 객체를 구성하면, 기존 코드를 고치는 대신 새로운 '객체 그룹군'을 만들거나 이미 만들어진 '객체 그룹군의 자식 클래스'를 변경하여 기능의 추가, 수정을 자유롭게 제어할 수 있다. 그래서 기존 코드를 건들었을 때 발생하는 생각하지 못한 버그(=부작용)가 연쇄 작용하는 것을 막을 수 있다. 기존 코드의 수정이 아닌 확장으로, 기존 프로그램 구성을 안전하게 지키면서 어플리케이션을 개선할 수 있다. 마치 상속이 한 번 정한 정책은 수정하기 힘들고 위에서 명령한 것은 억지로 따라야 하는 경직된 관료조직과 같다면, 구성은 급변하는 시장 환경에 ..
추상화, 캡슐화, 다형성 디자인 패턴 책을 보다가 객체지향 기본 개념인 추상화, 캡슐화, 다형성이 가물가물 하여서 다시 찾아본 내용을 정리함. 객체지향개발(Object Oriented Programming)의 특성은 크게 추상화, 캡슐화, 상속성, 다형성이 있다. 1) 추상화(Abstraciton)- 공통의 속성이나 기능을 묶어 이름을 붙이는 것- 객체 지향적 관점에서 클래스를 정의하는 것을 바로 추상화라고 정의 내릴 수 있겠다.- 좀 더 살펴보면 물고기, 사자, 토끼, 뱀이 있을 때 우리는 이것들을 각각의 객체라 하며 이 객체들을 하나로 묶으려 할 때, 만약 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의한다고 하자. 이때 동물 또는 생물이라고 묶는 것을 추상화라고 한다. 2) 캡슐화(Encapsulation)- 데이터 ..
소스 수정 기본 프로세스 1. SVN에서 해당 파일의 최신본을 업데이트 받는다. 2. 업데이트 받은 파일로 필요 부분을 수정한다. 3. 커밋 후 테스트 시작 - 팀원들에게도 테스트를 요청한다. 4. 테스트 완료 후 형상관리 문서 작성 - svnlist - 형상 변경 요청서 5. 고객에게 최종 확인을 받는다.
ORM이란 무엇인가? 안녕하세요,오늘은 ORM(Object-Relational Mappging)에 대한 이야기를 해볼까 합니다.ORM이란 용어가 익숙하시 분도 계시겠지만, 생소한 분도 있으실 것이라고 생각합니다. 사실 스프링 프레임워크를 쓰고 계신다면, 여러분은 이미 ORM 개념을 사용하고 계신 겁니다.스프링 프레임워크가 곧 ORM 개발 방식을 구현한 것이니까요. 자세한 내용은 아래의 링크를 참조하시면 더 도움이 될 것입니다. [출처] ORM의 기본적인 개념 및 활용방안 Table of ContentsIntroductionORMORM 등장배경ORM의 기본적인 개념Mapping ConceptTransparent persistenceORM 활용방안가이드 라인참고문헌Introduction본 문서는 최근 persistence lay..
자동 의존성 주입 - @Autowired, @Resource, @Inject 차이 스프링에서 의존성 주입에 사용될 수 있는 어노테이션은 @Autowired, @Resource, @Inject이렇게 3가지 어노테이션이 있습니다. 이 셋의 차이는 무엇일까요?저는 스프링을 기반으로 개발을 하고 있지만... 개인적으로 특정 프레임워크에 종속되지 않는 @Inject을 즐겨 사용합니다.사람 일이란게 언제 어떻게 될 지 모르는 거잖아요 ㅋㅋ @AutowiredSpring Framework에서 지원하는 Dependency 정의 용도의 Annotation으로, Spring Framework에 종속적이긴 하지만 정밀한 Dependency Injection이 필요한 경우에 유용하다. @ResourceJSR-250 표준 Annotation으로 Spring Framework 2.5.* 부터 지원하는 Anno..
스프링 pom.xml에 ojdbc14 추가하기 maven repository에서 ojdbc 검색을 해서 dependency를 추가해주었는데 Missing artifact ojdbc:ojdbc:jar:14 라는 오류발생 삽입했던 dependency ojdbc ojdbc 14 뭘까 하다 확인해보니 다음과같이 해주어야 하더라 com.oracle ojdbc14 10.2.0.4.0 기존 dependency를 위와같이 변경해주고 repositories태그를 추가해주어야 함pom.xml에 repositories 태그가 존재하지 않는다면 그냥 properties 태그위에 다음과 같이 작성해주도록 하자 mesir-repo http://mesir.googlecode.com/svn/trunk/mavenrepo 위와 같이 변경하였다면 정상적으로 ojdbc14.jar 라이..
Java EE와 Java SE의 차이점 자바 기술은 프로그래밍 언어와 플랫폼 모두를 아우르고 있습니다. 자바 프로그래밍 언어는 고수준 객체 지향형 개발 언어이며 플랫폼은 자바 프로그래밍 언어로 작성되어진 어플리케이션을 실행시키는 환경입니다. 자바 플랫폼의 종류는 몇 가지가 존재합니다. 대부분의 개발자들이 각각의 자바 플랫폼에 대한 심도있는 이해를 하지 못하고 있어 이번 기회에 이를 정리해보고자 글을 써봅니다. 자바 프로그래밍 언어 플랫폼자바 프로그래밍 언어의 플랫폼은 4가지가 존재합니다:표준 에디션의 자바 플랫폼(Java SE)엔터프라이즈 에디션의 자바 플랫폼(Java EE)마이크로 에디션의 자바 플랫폼(Java ME)JavaFX 모든 자바 플랫폼들은 자바 가상 머신(JVM)과 어플리케이션 프로그래밍 인터페이스(API)들로 구성되어 있습니다...
자바 다중상속 인터페이스 다루는 방법 자바에서 다중상속은 인터페이스만 가능합니다. 자바는 클래스를 두 가지 이상 상속하지 못합니다. 그럼 아래 소개될 내용은 인터페이스에 대한 내용이 겠죠. 인터페이스는 일종의 추상클래스이며 클래스처럼 메서드를 가질 수 있지만 기능을 구현할 수 없습니다. 그리고 멤버변수도 가질 수 없으며 상수만 가능합니다. 1. 인터페이스 작성 방법 ▼ 인터페이스 클래스 작성방식은 아래와 같습니다. 인터페이스에서 포함될수 있는 것들은 상수와 메서드 원형뿐입니다. 그리고 두가지 멤버 변수는 public static final 과 public abstract 이어야 합니다. 보통 생략해서 많이 사용하죠. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메..