1. 클래스에서 어떤 것을 해야 하는지를 파악한다.

2. 인스턴스 변수와 메소드 목록을 작성

3. 메소드를 만들기위한 준비 코드를 작성

4. 메소드에 대한 테스트 코드 작성

5. 메소드를 테스트

6. 필요하면 디버그를 하거나 다시 구현

원시값을 비교할때 사용하는 연산자 '=='


하지만!!! String의 값을 비교할때 저 연산자 사용 불가?? ㅋ


왜??? String 은 객체이다.. 고로 '.equals()' 라는 메소드를 사용해야한다....


처음에 그냥 무심코 사용을 했는데;; 객체라는 사실을 잊고 있었다 ㅠㅠ

1. 인스턴스 변수는 클래스 내에서 선언된ㄷㅏ.(기본적으로 인스턴스변수는 기본값을 가지고 있다.)

(메소드 내에서 선언 X)

ex)

Class Horse{

private double height = 15.2;

private String bread;

-----

}


2. 지역변수(Local Variable)는 메소드내에서 선언

ex)

Class AddThing{

int a;

int b = 12;


public int add(){

int total = a + b

return total;

}

}


3. 지역변수는 사용전에 반드시 초기화를 해야한다.(안했을 경우 컴파일 과정 중 에러 발생!!!! -> 초기 값이 없기때문)



인스턴스???

객체(Object)를 부르는 다른 이름?? 
- 클래스의 인스턴스영역에서 선언되는 변수
- 클래스가 인스턴스 될때 메모리를 할당 받는다.
- 자동 초기화 된다.
- JVM 메모리 구조에서 Heap영역에서 생성된다.
- static영역에서 인스턴스변수를 사용하려면 반드시 객체화를 해서 사용한다.
- 사용 : 인스턴스명.변수명


° 클래스 != 객체



자바 : 인터프린터 언어.... 

돌아가는 순서 


소스 -> 컴파일러 -> 결과물 -> 가상머신 



자바 코드의 구조



소스파일

 클래스 각각 한 ㄱ쌔기을 정의 클래스는 보토ㅇ 프로그램으ㅣ 한 부분이라고 ㅎ라 수 있다.


클래스

 메소득ㅏ 한개 이상 들어가며, 클래스 안에서 선언되어야 한다.


메소드

 이ㄹ련의 선어ㄴ무ㄴ을 모아놓은 것... 일종의 함수나 프롯지어ㅘ 비슷한 것으로 봐도 무관


아주 기본적인 설정 방법이다..(프로젝트 설정부터 차근 차근 하겠다..)

아래의 스크린샷은 Ianuarias 님의 제공입니다.

(lanuarias.tistory.com)



그럼 본격적으로 포스팅 시작할께요~~ ㅎ




이 프로젝트를 만들것입니다요~ㅎㅎ 파일에서 Other(Ctrl + N) 을 눌러서 프로젝트를 만들어 줍니당. ㅎ



강의 시간에 하는 것은 Maven 기반의 프로젝트를 할것이기 때문에 검색을 통해 Maven Project를 눌러줍니다 ^^



따로 설정 할 것이 없으므로 넥수트~~ㅎㅎ



우리가 만들것은 maven-archetype-weapp 을 만들것이에요~~이것을 눌러서 다음~~



Group ID 에서 위의 스샷처럼 입력을 해줍니다.(이건 자기 맘대로 해도됨... ㅎㅎ) Artifact Id는 생성시킬 프로젝트 이름으로 생각하심 됩니다 ^^ 그리고 나서 Finish!!!



그럼 위의 스샷 처럼 Maven 기반의 웹앱 형태의 프로젝트가 만들어지며 위의 스샷 처럼 기본 골격을 갖춘프로젝트가 완성 됩니다 ^^

이제 서비스를 수행하기 위한 몇가지 폴더(소스폴더)를 추가하고 설정을 할 것입니다 ^^



필요한 폴더는 test를 위한 폴더와 서비스를 수행하기위한 폴더 2개를 필요로 합니다.... ㅎㅎ 스크린 샷처럼 아까 프로젝트 만드는 것처럼 Other를 클릭!!



Source Foler를 클릭!!!! 왜 ??필요하니깐 ㅋㅋ



폴더 이름을 지정을 해주어야 되는데요~ 프로젝트를 수행하기위한 기본적인 폴더 4개(test를 위한 폴더 : resources, java/ main을 위한 폴더 : resources(기본적으로 생성), java)를 필요합니다.. ㅎㅎ

프로젝트를 생성할때 기본적인 폴더를 제외한 3개를 위와 같은 방법으로 만들어줍니다.

각가의 폴더의 이름은 아래와같이 지정해줍니다 ^^


src/main/java

src/test/resources

src/test/java


이렇게 3개를 만들어 줍니다 ^^



만들어진 폴더의 결과 화면입니다.. ^

여기까지 기본적니 골격을 갖춘 스프링 이 되겠스빈다 ^^(아 컴터 버벅거려 ㅠㅠ)



이제부터 서비스를 수행하기위한 기본적인 xmㅣ 설정과 프로젝트 설정에 대해 포스팅 하겠습니다 ^^


처음으로 설정할 것은 Context root 설정인데요  이것을 /(root)로 잡아주어야 편하답니다.. 

이것이 그냥 기본적인 설정일 ㅂ경우 봍ㅇ 톱켓이나 기타 서버에 올려서 실행을 하게되면

localhost:>8080/프로젝트 이름  이런식의URL 로 동작을 하는데

Context root 를 / 로 설정을 했을 경우 localhost:8080 이런ㄱ식으로 동작을 하게된다. %^^


Context root 를 변경할 프로젝트에서 오른쪽 클릭 Properties 를 눌ㄹ준다..


그리고 낫Web Project Setting에 가 Context root 란에 가서 설정을 해준다.




위의 스샷 처럼 설정을 해준다.


그럼 OK 를 눌러주면 설정 완료!!!




이제 pom.xml 을 설정을 할것인데 강의 시간에 기본적인 서버 설정을 위 svn 에 올라와 있는pom. xml 을 복사한다..

(나중에 이것은 따로 블로그에 업로드 시킬 예정임)



그리고 나서 연습을 하고 있는 프로젝트 폴더에다가 붙어 넣기를 해주면 된다 

^^




그럼 위에 스크린 샷처럼 복사가 완료가 되었지만!! 문제가 발생하였다!!!!! ㅠㅠ 

pom.xml 의 변경으로 인해 Update를 시켜주어야 한다.




Update 방법은 연습하고 있는 프로젝트에 오른쪽 클릭 한후Maven 메뉴 안에 Update Project Configuration 이라는 것을 눌러준다.



그리고 나서 업테이트 시킬 프로젝트를 눌러서 OK 버튼을 클릭!!!



그러면 아까와 같은 프로젝트에 빨간 기분을 나쁘게 하는 표시가 사라지게 된다 ㅠㅠ




이제 다른 파일을 설정할 차례이다.. 이제 변경(추가) 할 것은 src/main/webapp/WEB-INF/ 에 있는 web.xml을 수정할 차례이다.

스크린 샷에 있는 것을 복사(기본 디폴트 xml 아넹 있는 내용을 복사를 한다.



이제 우리가 연습할 프로젝트에 같은 경로에 있는 web.xmㅣ 에다가 붙어 넣는다.. ㅎㅎ

여기서 복사한 servlet의 내용은 Dispatcher를 수행하기 위한 부분이다. 이것이 설정되 있지 않으면 Dispatcher 가 실행이 ㄷ지 않아 정상적인 접근이 불가능하다.(URㅣ 기반 접ㄴ도 불가능)



위의스크린 샷에 설정된 블럭으Dispatcher를 수애하기위한 설정된 xml 파일의 경로와 이름을 지정해준다.

그럼 이제 저 설정 ㅍ일을 복사해야겠죠?? ㅎ



SVN 에 올라와 있는 기본 설ㅇ 프로젝틍ㅇservlet-context 의 파일을 복사를 해서...



우리가 수행할 프로젝트 안에 붙어 넣어 줍니다 ^^


그리고 기본적으로 이 파일안에 우리가 연습할 부분에 대해 방해를 시킬 수 있는 요소를 주석처리를 해줍니다 ^^





Dispatcher 가 설정되어 있느ㅡservlet-context.xml 파일의 내용입니다.

 내용을 대충 살펴 보게 되면

<context:componet-scan base-package="kr.ac.jejuuniv"/> -> 'kr.ac.jejuuniv'라는 패키지에 있는 context 컴포넌트를 읽게 하기 위함

<annotation-driven/> -> 어노테이션을 수행을 하겠다??

<resources mapping="/resources/**" location="/resources/"/> -> 서비스 수행을 위하ㅏ리소스 폴더 경로 맵핑


<bean~~~~ /beans:bean> -> 프리픽스에 설정된 경로에있는 .jsp 파일을 뷰 


'-컴퓨터 지식 창고- > Spring' 카테고리의 다른 글

About Spring  (0) 2012.01.16


1. import java.lang.*;
    이 패키지를 따로 코딩하지 않아도 JVM은 import된것으로 인식

2. default 생성자
   클래스 내부에 아무런 생성자도 만들지 않으면 JVM은 자동적으로 default 생성자가 있다고 인식

3. this 예약어
   클래스의 멤버는 static을 제외하고 모두 this  객체를 통해 접근하지만 생략할 수 있으므로 일반적으로 사용하지 않아도 알아서 인식

4. 0번째 매개 변수
   서로 다른 객체를 구분하기 위해 0 번째 매개 변수인 [자기_클래스명 this]가 생략되어 있음을 인식

5. toString() 메소드
   모든 클래스의 객체는 그 이름을 출력에 사용하게 되면 자동적으로 위의 메소드를 사용한다.

6. Object 클래스의 상속
   상속관계가 적혀 있지 않은 자바의 ㅁ코든 클래스는 자동적으로 java.lang.Object 클래스가 상속되었다고 JVM에서 자동적으로 인식

7. super메소드
   상속 관계에서는 하위 클래스의 생성자는 첫 라인에 super 메소드나 this 메소드를 기재하지 않았을 때 자동적으로 super가 있다고 JVM이 인식 

'-컴퓨터 지식 창고- > JAVA' 카테고리의 다른 글

인스턴스??  (0) 2012.06.30
자바??  (0) 2012.06.30
자바 중첩 클래스  (0) 2012.02.25
keytool를 이용한 키 생성!!  (0) 2011.12.06
SSL 서버와 클라이언트 실행시 옵션 귀춘.... 해결 방법  (0) 2011.11.19
중첩 클래스

효율적인 관리를 위한 하나의 형식.  다른 클래스 내부에 정의 되는 클래스이다.

중첩클래스의 종류
   - static class : 독립적으로 오브젝트로 만들어질 수 있는 클래스
   - inner class : 자신이 정의된 클래스의 오브젝트 안에서만 만들어질 수 있는 클래스

inner class는 또 3가지로 구분
  1. member inner class : 맴버필드처럼 오브젝트 레벨에 정의되는 클래스
  2. local class : 메소드 레벨에서 로컬 변수를 선언하여 사용하듯 선언된 메소드 내에서만 사용하능한 클래스
  3. anonymous inner class : 이름을 갖지 않는 익명 내부 클래스 
 

출처 : http://kimddochi.tistory.com/70    김또치님의 블로그 
프레임워크(Framework)

프레임워크 : 뼈대나 기반구조를 뜻한다. 제어의 역전 개념이 적용된 대표적인 기술

소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합' 이라 할 수 있으며, 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야한다.
객체 지행 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법중 하나. 

 
프레임웤의 특징

1. 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성

2. 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의

3. 컴포넌트들은 재사용이 가능

4. 높은 수준에서 패턴들을 조작화 할 수 있다. 


라이브러리(Library)

라이브러리란 단순 활용가능한 도구들의 집합'

개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취한다. 


라이브러리와 프레임 웤의 차이

라이브러리는 소프트웨어에서 호출 할 수 있는 함수와 루틴으로 구성, 프레임워크는 특정 애플리케이션에서 사용할 수 있는 상호협력적인 컴포넌트를 제공

라이브러리는 사용자가 직접 살을 만들면서 그 살을 붙이는 형식이지만 프레임워크는 만들어진 살에서 갔다가 붙이는 형식???
(이부분은 정리 해야 겠삼 ㅠㅠ) 
 

+ Recent posts