반응형

1. Ibatis의 경우

Ibatis 는 동적쿼리를 생성할 때 #value# 를 사용한다.
그러나 #value#  가  주석 안에 있다면, 주석이라 할 지라도 쿼리에 영향을 주어 에러를 낸다.

반응형

'JAVA > JAVA공부' 카테고리의 다른 글

java  (0) 2020.06.23
입력과출력  (0) 2019.03.27
이클립스 사용하기  (0) 2019.03.27
반응형

차례

  1. 프레임워크란?
  2. 라이브러리 vs 프레임워크
  3. 자바란 무엇인가?
  4. SDK란?
  5. OOP란?
  6. MVC 패턴이란?
  7. 상속이란?
  8. 자바의 데이터 타입
  9. 다형성이란?
  10. overriding이란?
  11. overloading이란?
  12. 인터페이스란?
  13. 추상클래스란? 인터페이스와의 차이점은?

1. 프레임워크란?

소프트웨어를 만들 때 뼈대가 되는 부분을 미리 구현한 클래스, 인터페이스, 메서드 등의 모음입니다.

장점은

  1. 미리 구현해 둔 코드를 쓰기 때문에 빨리 만들 수 있고,
  2. 품질이 보장되어 있고,
  3. 추상화 계층을 하나 제공하는 것이 되어 사용하기 쉽습니다.

단점은

  1. 이것 자체도 익숙해 지는데에 시간이 걸릴 수 있고,
  2. 프레임워크 내부를 커스터마이징 하기 힘들고, 즉 유연성이 부족합니다.
  3. 언어가 아닌 프레임워크를 배우게 된다는 부작용이 있습니다.

2. 라이브러리 vs 프레임워크

프레임워크는 큰 틀을 제공하고 내 코드는 프레임워크의 틀 안에 맞춰서 작성해야 합니다. 큰 뼈대는 이미 잡혀있고 그 안의 내용물을 채우는 느낌 입니다. 작동할 때 코드 실행 흐름을 보면 프레임워크가 내 코드를 호출합니다. 반면 라이브러리는 사용할 수 있는 함수들의 모음으로, 내가 라이브러리를 호출해서 능동적으로 사용합니다.

참고 : "you call library, framework calls you"

3. 자바란 무엇인가?

객체지향 프로그래밍 언어입니다. 다른 언어와 비교하여 자바의 가장 큰 특징은 운영체제 없이 독립적이라는 점입니다. 즉 운영체제에 관계없이 같은 코드를 사용 가능한데, OS위의 JVM(Java Virtual Machine) 이라는 가상머신 위에서 자바가 실행되기 때문입니다.

4. SDK란?

Software Development Kit의 약자로, 개발을 위한 클래스, 컴파일러, 실행도구, 디버깅 툴, 예제 코드, 튜토리얼 등을 모아놓은 환경을 제공하는 것입니다. 모형배 만들기 키트에 재료 뿐만 아니라 자, 목공용 풀, 돋보기가 포함된 것 처럼, 개발을 위한 도구 세트입니다.

5. OOP란?

Object-Oriented Programming의 약자로, 기능, 즉 오브젝트를 기준으로 코드를 나누어 구현하는 프로그래밍 방법입니다. 자바의 경우에는 그 구분 단위가 클래스입니다. (구현할 때는 클래스, 사용할 때는 오브젝트죠 정확히 말하면) 그리고 구현한 객체들을 레고블럭 쌓듯이 합쳐서 전체 결과물을 만듭니다.

이전의 절차지향에 비해서 사람의 사고방식과 더 가깝습니다. 객체지향 프로그래밍의 등장으로 인해 프로그래밍이 인간에게 더 쉽고 친절해 졌습니다.

장점은

  1. 내가 만든 레고블럭을 필요에 따라 다른 사람이 사용할 수 있습니다. (재사용성)
  2. 그렇기 때문에 협업하기 쉽고,
  3. 레고블럭을 가져다 쓸 때는 그 블럭의 내부 구조가 어떤지 신경쓸 필요 없습니다. (캡슐화, 추상화)

6. MVC 패턴이란?

애플리케이션을 Model, View, Controller 영역으로 구분하여 개발합니다. 영역간의 결합도를 최소화한 디자인 패턴입니다. 장점은

  1. 디자이너, 개발자 영역이 분리됨으로써 분업화가 쉬워지며,
  2. 유지보수가 용이합니다.

참고 : MVC Pattern 이란? - 개념 및 자바 예제

7. 상속이란?

기존 클래스의 변수와 메소드를 그대로 가지면서 추가적인 기능도 가지는 클래스를 새로 만드는 것입니다. 복잡한 문제를 나누어서 공통 부분부터 구현하기 위해 사용합니다.

장점

  1. 변수와 메소드를 그대로 쓰므로 코드중복을 줄임,
  2. 객체를 사용하는, 클래스 외부적인 관점으로 봤을 때 연필, 지우개, 볼펜을 모두 '필기도구' 라고 묶어서 처리(upcasting) 할 수 있으므로 효율적인 코드가 됨

8. 자바의 데이터 타입

기본형 (primitive type)

stack 메모리 영역에 실제 값을 저장하는 데이터 타입이며, boolean, char, int 등 8가지 종류가 있습니다.

참조형 (Non-primitive)

기본형 외의 모든 타입입니다. String, 클래스, 인터페이스, 어레이 등 모든 변수는 참조형 변수입니다. 새로 만들때는 heap 메모리에 저장공간을 확보하며 항상 new로 정의합니다. 실제 값은 heap 영역에 저장되고, stack 에는 메모리 주소만 저장됩니다. (참고로 자바는 변수를 복사하는 경우가 없고 무조건 참조합니다)

참고:

9. 다형성이란?

하나의 지시(예를들어 메소드를 실행하는 것)에 대해 여러 객체가 각자 다른 행위를 수행하는 것입니다. 자바에서 overloading이나 overriding이 이에 해당됩니다.

10. overriding이란?

부모 클래스에게 상속받은 메소드를 자식 클래스에서 재정의 하는 것입니다.

참고: 생활코딩 자바 수업 - overriding

11. overloading이란?

하나의 클래스 내에서 이름이 같은 여러개의 메서드를 정의하는 것입니다. parameter, 리턴 타입 등이 다른데 수행 내용이 본질적으로 동일할 때 사용합니다.

참고: 생활코딩 자바 수업 - overloading

12. 인터페이스란?

클래스의 템플릿입니다. 인터페이스는 멤버 변수, 멤버 함수를 가질 수 없고, 추상 메소드만 가질 수 있습니다. 그러니까 말하자면 껍데기만 있는 클래스인거죠.

사용목적은 인터페이스라는 이름 뜻 그대로, 클래스를 사용함에 있어서 인터페이스를 제공하기 위함 입니다. 즉, 인터페이스는 여러 클래스의 사용 방법이 같음을 보장합니다. 그렇기 때문에 자신을 implement 하는 클래스들에게 메서드 구현을 강제합니다.

예를들어 List 인터페이스 를 implement 하는 클래스 들인 ArrayList, LinkedList는 공통적으로 add(), clear(), indexOf(), get() 등의 메서드를 가지고 있습니다.

13. 추상 클래스란? 인터페이스와의 차이점은?

추상클래스란 abstract로 정의되거나, 클래스 내에 추상 메서드가 하나 이상 포함된 클래스입니다. 근본적인 차이점은 사용 목적입니다. 클래스는 기본적으로 상속을 통해 기능을 확장하려는 목적으로 사용하며, 인터페이스는 해당 인터페이스를 구현한 객체들에 대해 동일한 동작을 약속하게 하기 위해서 사용합니다. 이 외에 추상클래스는 다중상속이 불가능하고 인터페이스는 가능하다는 차이점도 있는데, 목적이 달라서 기능이 다른 것 뿐이지, 인터페이스는 다중상속을 보완하려고 존재하는게 아닙니다.

반응형

'JAVA > JAVA공부' 카테고리의 다른 글

부적합한 열 인덱스 에러  (0) 2023.11.21
입력과출력  (0) 2019.03.27
이클립스 사용하기  (0) 2019.03.27
반응형


만약 아래와같은 프로그래밍을 했을경우



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package org.opentutorials.javatutorials.condition;
 
public class LoginDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String id = args[0];
        if(id.equals("egoing"))
        {
            System.out.println("right");
        }
        else
        {
            System.out.println("wrong");
        }
 
    }
 
}
 
cs







결과가 아래와같이 나온다.




어떻게 실행을 시켜볼까?





방법


실행의 옆 화살표 부분을 클릭한후

Run Configuration을 클릭한다.


이후

노란색으로 표시된부분을 클릭한다.


이후 Name을 설정해준다.



이후 Arguments를 클릭하고


입력값을 넣어준뒤 Run을 클릭한다.



결과




반응형

'JAVA > JAVA공부' 카테고리의 다른 글

부적합한 열 인덱스 에러  (0) 2023.11.21
java  (0) 2020.06.23
이클립스 사용하기  (0) 2019.03.27
반응형

이클립스를 설치 후 실행시켜봅니다.




Package Exploer에서 우클릭후 New -> Java Project를 클릭한다.


그럼 위와 같은 화면이뜬다.


Use default location 선택해제후

 Browse를 클릭해 자기가 사용할 경로의 디렉토리를 사용해준다.


이후 Project name을 입력한다.





그렇게되면, 그 경로의 폴더를 들어가보면


아래처럼 폴더가 생겨난다.


bin 파일 : binary      (.class)

src 파일 : sourcee   (.java)




이후 본인이 만든 프로젝트를 우클릭 후 Package를 클릭한다.



Name 에 도메인(본인마음대로지만, 보통은 도메인을 쓴다고한다...)을 적어준다.

(ex. ort.opentutorials.javatutorials.eclipse)  여기서 . 이 의미하는 것은 폴더 이다.


이후 본인이 만든 프로젝트를 우클릭후 new를 클릭하고 class를 클릭한다.




class는 자바 프로그램의 가장 기본적인 단위.!!


Name을 입력해주고,

public static void main(Strint[] args)를 체크후 Finish를 눌러준다.



끝!!


반응형

'JAVA > JAVA공부' 카테고리의 다른 글

부적합한 열 인덱스 에러  (0) 2023.11.21
java  (0) 2020.06.23
입력과출력  (0) 2019.03.27

+ Recent posts