강좌/Spring 3.0 22

[독자 질답] 캡슐화의 목적과 필요성

네이버 서적 리뷰에 lcy**** 님이 올려주신 리뷰에 대한 답변입니다. 책 저자입니다. 진심 깃든 리뷰에 감사드립니다.책 서문에 있듯이 자바 서적 한권 정도는 갖고 계신 분들을 대상으로 집필하다보니 캡슐화(정보은닉)의 목적과 필요성을 설명하지 않고 넘어가게 되었습니다.자바 책으로 구성하기에는 설명할 것이 너무 많고 스프링만 다루기에는 책이 너무 얇아질 것 같아서 그 중간의 연결점 역할에만 최대한 충실하게 하려고 했던 결과겠지요. 궁금해 하신 캡슐화(정보은닉)의 목적과 필요성을 잠시 설명 드리겠습니다.정보은닉이라는 보조 제목이 결국 모든 것을 말해 주는데요. Person 클래스의 honggildong 객체가 age 속성을 가지고 있다고 가정해 보겠습니다.age 속성이 public 으로 그대로 노출되고 이..

강좌/Spring 3.0 2015.09.19

드디어 책이 나왔습니다.

[스프링 입문을 위한 자바 객체 지향의 원리와 이해] - 위키북스 2년이라는 시간을 넘기고 드디어 책이 나왓습니다. 혹시나 아직까지 기다려 주신 분들 있다면 다음 링크에서 확인하세요. 위키북스 소개 페이지 네이버 북스 / YES24 / 알라딘 / 교보문고 / 11번가 도서 인터파크 도서 / G 마켓 / 반디앤루니스 / 강컴닷컴 / 옥션 바보사랑 / 올북 / 영풍문고 아래 링크에서는 책의 도입 부분을 보실 수 있습니다. http://issuu.com/kr.wikibook/docs/java-oop-for-spring 교보문고 [MD의 선택] 뱃지가 붙었네요. ^^ 회원 평점과 회원 리뷰 따위... ㅡㅜ 목차 ▣ 01장: 사람을 사랑한 기술 신기술은 이전 기술의 어깨를 딛고 기계어에서 객체 지향 프로그래밍 언..

강좌/Spring 3.0 2015.03.30

016. OOP 추상화 = 모델링

지난 시간 추상화라는 단어의 일반적인 뜻을 알아봤습니다. 추상화란 구체적인 것을 분해해서 관찰자가 관심있는 특성만을 가지고 재조합하는 것이라고 정리할 수 있습니다. 이렇게 정리되시지 않았다구요. 그건 제 잘못입니다. 설명을 제대로 못한 것이죠. ^^ 일단 위의 개념을 머리 속에 두시고 OOP 의 추상화로 이야기를 전개해 보도록 하겠습니다. 객체지향의 4대 특성은 무엇을 통해 구현 될까요? 네 바로 클래스를 통해 구현 됩니다. 또는 객체라고 할 수도 있겠구요. 그런데 여기서 클래스와 객체에 대해서 이야기를 하고 넘어가야 할 듯 합니다. 붕어빵틀 vs 붕어빵은 지금 이 순간부터 버리십시요. 버리셨죠.. ^^ 그럼 먼저 클래스가 뭔지, 객체가 뭔지 이해하기 위해 질문부터 던져보겠습니다. 쥐는 클래스일까요? 객..

강좌/Spring 3.0 2013.02.07

015. 추상 / 추상화

흠 잊고 있었는데 댓글로 추상화 강좌에 대한 이야기가 나와서 이렇게 다시 자판에 앞발을 올려봅니다. 흠흠 추상화 관련 부분은 제가 작성한 부분이 지루하거나 난해할 수 있음으로 건너 뛰시고 바로 스프링 관련 서적으로 가시는 것도 나쁘지 않습니다. ^^ 추상화는 프로그래밍에서 무척 다양한 의미로 사용되는 용어입니다. 일단 객체지향프로그래밍(OOP)에서 말하는 추상화부터해서 스프링의 추상화까지 살펴보면 의미가 달라보이기까지 하는데요. 그러나 결국은 같은 용어를 사용한다면 그 안 깊숙히 숨겨져 있는 공통적인 의미가 있겠죠. 일단 추상화는 영어로 Abstraction 이 되겠습니다. 일단 가장 기초가 될 것 같은 OOP 추상화를 설명할 거라 기대하셨다면 그 기대를 제가 살짝 뭉개 드리도록 하겠습니다. ^^ OOP..

강좌/Spring 3.0 2013.02.06

014. 애너테이션 기반 DI, AOP, 스프링 설정 파일

기존 소스를 가지고 애너테이션을 이용해서 스프링 설정이 얼마나 간편해지는지 알아보도록 하겠습니다. 유지보수는? 더 힘들어집니다. ㅡㅡ; 앞의 강좌들을 쭈욱 보신 분들만 이해 가능합니다. aop006 패키지를 만들고 기존 aop005 패키지 밑에 모든 파일들을 복사 붙여 넣고 수정하시면 빠릅니다. 먼저. expert.xml 입니다. component-scan 이 들어오면서 태그들이 몽땅 사라졌습니다. 헐... component-scan 은 으로 설정 파일에 등록했던 내용들을 별도의 등록없이, 주어진 base-package 밑에 스캔(처음부터 끝까지 살펴보며)하며 자동으로 bean 으로 등록해 줍니다. 자동이기 하지만 Bean 되어야할 클래스가 무엇인지 표식은 해줘야겠지요. 그럼 기존에 Bean 으로 등록되..

강좌/Spring 3.0 2013.01.23

013. AOP - 기초 완성

이번 시간에는 Before 어드바이스와 After 어드바이스를 살펴보도록 하겠습니다. 그런데 이미 AOP 이전 강좌에서 Before 어드바이스를 살펴봤네요. 그래서 생략.. 다만 기억할 것은 Before 어드바이스는 해당 Jointpoint 메서드 실행 전에 실행 된다는 사실을 기억해 주시면 되겠습니다. 그럼 After 어드바이스는? 당연히 해당 Joinpoint 메서드 실행 후에 실행되겠군요. 소스로 이야기해 봅시다. 기존 aop003 패키지를 복사해서 aop004 패키지를 만들었습니다. 변할 곳은 짐작이 되시나요? 네 딱 두 곳입니다. Advice 를 만드는 클래스와 Spring AOP 설정이죠. 변경된 MyAspect.java 입니다. package aop004; import org.aspectj...

강좌/Spring 3.0 2013.01.23

012. AOP 일단 덤벼 보자 - POJO & XML 기반 AOP

이번 강좌에서는 기존에 작성한 AOP 예제를 애너테이션(@) 기반에서 POJO & XML 기반으로 변경해 보도록 하겠습니다. POJO 가 뭔지 모르신다구요? 그건 다른 강좌를... 설명하기가 그리 길진 않치만... 제가 게을러서이기도 하지만... 자꾸 삼천포로 안 빠지려구... 계속 변명 중... 이 시간에 설명했으면 이미... 그래도 지나갔으니.. 쿨락 변경할 곳은 딱 2 군데 뿐입니다. 먼저 MyAspect.java 되겠습니다. 기존 신규 @ 애너테이션 기반 SpringFramework 종속 POJO & XML 기반 SpringFramework 에 대한 종속성이 없음 package aop002; import org.aspectj.lang.JoinPoint; import org.aspectj.lang...

강좌/Spring 3.0 2013.01.23

011. AOP 일단 덤벼 보자 - 용어편

모든 조직은 그들만의 용어가 있습니다. 그 용어를 이해하지 못하면서 그 조직을 이해한다는 생각는 오해를 낳을 뿐이죠. AOP 에서도 그들만의 용어가 있는데 그 용어들을 소스와 비교해서 정리해 보겠습니다. Aspect Advisor Advice Pointcut Joinpoint 위 5 가지 용어가 AOP 를 이해하는데 필수이면서 전부인 용어입니다. 그리고 Spring AOP 에 숨어있는 Proxy.. 이건 앞 강좌를 참고하세요. 그럼 쉬운 순서로 설명해 보겠습니다. Pointcut - 자르는 지점??? Aspect 적용 위치 지정자!!! package aop002; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; i..

강좌/Spring 3.0 2013.01.23

010. AOP 일단 덤벼 보자 - 설명편

지난 009 강좌를 통해 횡당관심사항을 완벽하게 분리하는 예제를 실습해 보았는데요. 이번 강좌에는 이론적인 토대를 마련해 보도록 하겠습니다. AOP 적용 전후의 Boy.java 와 관련 코드를 비교해 보도록 하겠습니다. AOP 적용 전 AOP 적용 후 package aop001; public class Boy { public void housework() { System.out.println("열쇠로 문을 열고 집에 들어간다."); try { System.out.println("컴퓨터로 게임을 한다."); } catch (Exception ex) { if(ex.getMessage().equals("집에 불남")) { System.out.println("119 에 신고한다."); } } finally { ..

강좌/Spring 3.0 2013.01.23
반응형