반응형
반응형
반응형
2.1 클래스와 객체의 정의와 용도

클래스란 '객체를 정의해놓은 것.' 또는 클래스는 '객체의 설계도 또는 틀'이라고 정의할 수 있다. 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다.


클래스의 정의 - 클래스란 객체를 정의해 놓은것이다.
클래스의 용도 - 클래스는 객체를 생성하는데 사용된다.


객체의 사전적인 정의는, '실제로 존재하는 것'이다. 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. 객체지향이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다.
프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.


객체의 정의 - 실제로 존재하는것. 사물 또는 개념
객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름

유형의 객체 - 책상, 의자, 자동차, TV와 같은 사물
무형의 객체 - 수학공식, 프로그램 에러와 같은 논리나 개념


클래스와 객체의 관계를 우리가 살고 있는 실생활에서 예를 들면, 제품 설계도와 제품과의 관계라고 할 수 있다. 예를 들면, TV설계도(클래스)는 TV라는 제품(객체)을 정의한 것이며, TV(객체)를 만드는데 사용된다.
또한 클래스는 단지 객체를 생성하는데 사용될 뿐이지 객체 그 자체는 아니다. 우리가 원하는 기능의 객체를 사용하기 위해서는 먼저 클래스로부터 객체를 생성하는 과정이 선행되어야 한다.
우리가 TV를 보기 위해서는, TV(객체)가 필요한 것이지 TV설계도(클래스)가 필요한 것은 아니며, TV설계도(클래스)는 단지 TV라는 제품(객체)을 만드는데만 사용될 뿐이다. 그리고 TV설계도를 통해 TV가 만들어진 후에야 사용할 수 있는 것이다.
프로그래밍에서는 먼저 클래스를 작성한 다음, 클래스로부터 객체를 생성하여 사용한다.

[참고]객체를 사용한다는 것은 객체가 가지고 있는 속성과 기능을 사용한다는 뜻이다.



클래스를 정의하고 클래스를 통해 객체를 생성하는 이유는 설계도를 통해서 제품을 만드는 이유와 같다. 하나의 설계도만 잘 만들어 놓으면 제품을 만드는 일이 쉬워진다. 제품을 만들 때마다 매번 고민할 필요없이 설계도 대로만 만들면 되기 때문이다.
설계도 없이 제품을 만든다고 생각해보라. 복잡한 제품일 수록 설계도 없이 제품을 만든다는 것은 상상할 수도 없을 것이다.
이와 마찬가지로 클래스를 한번만 잘 만들어 놓기만 하면, 매번 객체를 생성할 때마다 어떻게 객체를 만들어야 할지를 고민하지 않아도 된다. 그냥 클래스로부터 객체를 생성해서 사용하기만 하면 되는 것이다.
J2SDK(Java2 Standard Development Kit)에서는 프로그래밍을 위해 많은 수의 유용한 클래스(Java API)를 기본적으로 제공하고 있으며, 우리는 이 클래스들을 이용해서 원하는 기능의 프로그램을 보다 쉽게 작성할 수 있다.



2.2 객체와 인스턴스

클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 한다.

예를 들면, Tv클래스로부터 만들어진 객체를 Tv클래스의 인스턴스라고 한다. 결국 인스턴스는 객체와 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며, 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다.
예를 들면, '책상은 인스턴스다.'라고 하기 보다는 '책상은 객체다.'라는 쪽이, '책상은 책상 클래스의 객체이다.'라고 하기 보다는 '책상은 책상 클래스의 인스턴스다.'라고 하는 것이 더 자연스럽다.

인스턴스와 객체는 같은 의미이므로 두 용어의 사용을 엄격히 구분지을 필요는 없지만, 위의 예에서 본 것과 같이 문맥에 따라 구별하여 사용하는 것이 좋다.

 

출처 : 플래시로 배우는 Java(http://www.javachobo.com)


반응형

'프로그래밍 > Java' 카테고리의 다른 글

자바용 nl2br  (0) 2009.02.11
톰캣에서 get 으로 넘어온 한글 처리  (0) 2009.02.11
HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
반응형
HashMap map;

Set se = (Set) map.keySet();

Iterator it = se.iterator();

while(it.hasNext()) {
     it.next().toString();
}
반응형

'프로그래밍 > Java' 카테고리의 다른 글

톰캣에서 get 으로 넘어온 한글 처리  (0) 2009.02.11
클래스, 객체, 인스턴스  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
[iBatis] iBatis 설치  (0) 2009.02.11
반응형
String DEFAULT_SQLMAP_CONFIG = "SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(DEFAULT_SQLMAP_CONFIG);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);





(List) sqlMap.queryForList(id, paramObject);

(List) sqlMap.queryForList(id, paramObject, skip, max);

(Object) sqlMap.queryForObject(id, paramObject);

(Integer)sqlMap.insert(id, paramObject)

(int) sqlMap.delete(id, paramObject);

(int) sqlMap.update(id, paramObject);




id : UserMap.selectUserMapById (sqlMap 파일에 정의된 id - iBatis 설정 파일 글 참조)

paramObject : Class 객체나 HashMap 형태 등등.

skip, max : mysql 의 limit skip, max 와 같음.

반응형

'프로그래밍 > Java' 카테고리의 다른 글

클래스, 객체, 인스턴스  (0) 2009.02.11
HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
[iBatis] iBatis 설치  (0) 2009.02.11
[이클립스] default workspace  (0) 2009.02.11
반응형

...\WebContent\WEB-INF\classes\SqlMapConfig.xml  에 위치. - 전체 설정 파일.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig   PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"   "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

  <properties resource="ibatis.properties" />
 
  <settings cacheModelsEnabled="false"
            useStatementNamespaces="true"
            lazyLoadingEnabled="true"
            enhancementEnabled="true"
  />
 
  <transactionManager type="JDBC">
    <dataSource type="JNDI">
      <property name ="DataSource" value="${datasource_name}"/>
    </dataSource>
  </transactionManager>
  
  <sqlMap resource="/com/simas/agweb/entity/user/userMap.xml" />

</sqlMapConfig>






==============================================================

위 파일과 같은 디렉토리에 일반적으로 ibatis.properties 파일 위치.

위 파일에 쓰인 ${datasource_name} 부분을 위해 일반적으로 사용.

datasource_name=java:comp/env/jdbc/jpox








==================================================================================
sqlMap 파일 - /com/simas/agweb/entity/user/userMap.xml 파일에는 Sql 을 정의한다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
 PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"          
 "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="UserMap">

 <select id="selectUserMapById" parameterClass="UserMapEntity" resultClass="UserMapEntity">
  <include refid="select-all"/>
  <isParameterPresent prepend="WHERE">
   tu.group_id = tug.group_id
   <isNotEqual property="group_id" compareValue="0" prepend="AND">
    tu.group_id = #group_id#
   </isNotEqual>
   <isNotEmpty property="user_id" prepend="AND">
    tu.user_id = #user_id#
   </isNotEmpty>
  </isParameterPresent>
  <isNotParameterPresent prepend="WHERE">
   tu.group_id = tug.group_id
  </isNotParameterPresent>
 </select>

</sqlMap>


위와 같이 sql 을 정의해서 사용한다.





sqlMap 파일에서 ## 으로 둘러쌓인 값은 '' 가 붙음.(필드 값에 사용)
반면 $$ 으로 둘러쌓인 값은 '' 이 안 붙음(필드 명에 사용)
반응형

'프로그래밍 > Java' 카테고리의 다른 글

HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설치  (0) 2009.02.11
[이클립스] default workspace  (0) 2009.02.11
Access DB 등록  (0) 2009.02.11
반응형

iBatis Data Mapper Framework을 설치 하기 위해서는 간단하게 적절한 JAR파일을 classpath상에 잡어 주기만 하면 된다.

또한 ,( java -cp argument) 명령을 사용하여 VM 시작 시간에 옵션을 지정하여도 되며 , WEB Application은 /WEB-INF/lib 폴더에 jar파일을 위치 시켜도 된다.  classpath의 자세한 내용은 본 내용에서 다룰 부분은 아니므로 생략한다.

 

그리고 java혹은 classpath에 관한 내용들에 대해서는 다음의 문서들을 참조 하기 바란다.

http://java.sun.com/j2se/1.4/docs/tooldocs/win32/classpath.html
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html
http://java.sun.com/j2se/1.4.2/docs/

 

iBatis는 single JAR파일을 제공한다. 그리고 JAR의 파일명은 다음과 같은 형식으로 제공된다.

ibatis-version.build.jar

예를 들어 ibatis-2.3.0.677.jar 가 해당된다.

일반적으로 application의 classpath에만 충분히 위치시키기만 하면 된다.




...tomcat-5.5.23\common\lib 디렉토리 밑에 넣어둬도 된다

반응형

'프로그래밍 > Java' 카테고리의 다른 글

HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
[이클립스] default workspace  (0) 2009.02.11
Access DB 등록  (0) 2009.02.11
반응형

이클립스 사용

 

이클립스 실행시 처음에 나오는 default workspace 창이 없어졌다면..

 

 

window -> preferences -> general -> startup and shutdown -> prompt for workspace on starup

 

체크 하면 됨

 

또는 젤 밑에 보이는 restore dafaults 버튼 클릭


반응형

'프로그래밍 > Java' 카테고리의 다른 글

HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
[iBatis] iBatis 설치  (0) 2009.02.11
Access DB 등록  (0) 2009.02.11
반응형

Access DB 사용하기위해 윈도우에 등록

 

 

제어판 -> 관리도구 -> 데이터원본(ODBC) ->

 

 시스템 DSN -> 추가 -> Driver do Microsoft Access ->

 

 마침 -> 데이터 원본 이름, 설명 채우기 -> 고급 -> 로그인 이름(디비접속ID), 암호(PWD) -> 확인

                                                       -> 옵션 -> 페이지제한 5, 버퍼크기 512

                                                       -> 데이터베이스 -> 선택 -> DB 파일 선택 -> 확인

 

 -> 확인 -> 확인


반응형

'프로그래밍 > Java' 카테고리의 다른 글

HashMap 의 keys 보기  (0) 2009.02.11
[iBatis] iBatis 기본 사용법  (0) 2009.02.11
[iBatis] iBatis 설정 파일  (1) 2009.02.11
[iBatis] iBatis 설치  (0) 2009.02.11
[이클립스] default workspace  (0) 2009.02.11
반응형

<input type="text" name="" value="" style="ime-mode:active;">

 

[ime-mode의 옵션]

 

auto : 한/영 변환이 자유로움.

 

active : 한글 기본, 한/영 변환이 자유로움

 

inactive : 영문 기본, 한/영 변환이 자유로움

 

disabled : 영문 기본, 한/영 변환이 안됨, 영문/숫자만 입력 가능


반응형
반응형

function showplatformrow()
{
    if (SearchForm.ItemType.selectedIndex == 1)
    { document.getElementById('ProductRow').style.display = 'block'; }
    else
    {
    SearchForm.Platform.selectedIndex = 0;
    document.getElementById('ProductRow').style.display = 'none';
    }
}


일반적으로 위의 코드처럼 style.display='block' 하고 style.display='none'를 많이들 사용한다.

그러나 <tr> 부분을 지정해두고 block , none을 반복해보면 파이어폭스에서는 이상한 일이 발생하는것을 살펴볼 수가 있다.

여기에서 문제는 block 부분이다. style.display='block'을 style.display='' 이렇게 변경하면 IE와 파이어폭스에서 모두 정상적으로 동작하는것을 볼수있다.
반응형
반응형

Cross Browsing 위해 개발중에 찾은 자료이다.
IE에서는 Filter라는 스타일을 통해 투명도를 조절하지만
FF에서는 먹히지 않기에 검색해서 보니 Opacity 속성이 있었다.
이것을 양브라우져간에 공통되게 쓰기 위해서는 약간의 트릭이 필요 하다.

filter:alpha(Opacity:50,style:0);Opacity:.5



원문 : http://nariya.net/blog/entry/불여우에서-투명효과-사용하기

꾸미기를 좋아하시는 분들은 보통 MS Internet Explorer 6(이하 IE)에서 작업을 하시더라구요. 어떠한 이유에서인지 모르겠지만, 아마도 IE가 여러가지 태그 하위 속성에 있는 Style이 Filter라는 비표준(?)적이면서도 '예쁜' 기능을 지원하기 때문이라고 조심스럽게 추측해 봅니다(...)

이번에 제가 들고 온 내용은 IE에서 사용하는 Filter 중에서 Alpha라는 녀석을 Mozila FireFox(이하 불여우)에서도 사용해 보자는 것이랍니다-♬ 사실 Style이라는 태그 하위 속성은 불여우에서도 동일하게 적용되지만, 단지 Filter:xxx의 방식은 사용하지 않기 때문에 IE의 방식대로 하면 의도대로 나타나지 않게 되죠. 그래서 이제부터 그 비밀을 소개하도록 하겠습니다~

위의 헛소리는 모두 무시해 주시고 여기서부터 시작~

먼저.. 아래의 그림 두 개를 봐 주세요.
(출연하신분은 Google Talk의 팽귄씨랍니다)

IE를 위한 투명 효과

불여우를 위한 투명 효과

<img src="xxx" style="filter:alpha(Opacity:50,style:0)">

<img src="xxx " style="Opacity:.5">


IE에서는 왼쪽의 팽귄씨가 투명하게 보이고, 불여우에서는 오른쪽의 팽귄씨가 투명하게 보이지요? 그럼 이제 여기서 고민(...)에 빠지게 되지요. 웹 사이트를 만드는 사람의 입장에서는 모든 사람들에게 동일한 페이지를 보여주길 원할텐데, 이렇게 브라우저마다 다르게 뜨면 난감하잖아요!(...아닌가ㄱ-)

그렇다면 이런 문제점을 해결하기 위해서 잔머리를 굴려봅시다(!)

위의 두 그림에서 보여지는 소스 가운데 공통적인 부분은 Style이라는 하위 속성을 사용해야 한다는 것이지요? 이 부분을 이용해서 비표준(?) 적인 대안을 만들어 봅시다.

모두(?)를 위한 투명 효과

<img src="xxx" style="filter:alpha(Opacity:50,style:0);Opacity:.5">


그.. 그러니까 결국 두가지를 합치는 겁니다!
마치 (a+b)(a+c) = a(b+c) 같은 수학 공식처럼 말이지요ㄱ-
여기서 주의하셔야 할 점은 위에서 푸른 글씨와 붉은 글씨 사이에 볼드 처리 되어 있는 세미콜론(;)을 붙여주셔야 한다는 거에요. 물론 웹 표준이라고는 할 수 없지만, 이런 방법을 블로그 스킨을 만들 때 사용하면 좋겠지요? 이제는 투명한 블로그를 불여우에서도 마음껏 즐기실 수 있습니다♪

반응형

+ Recent posts