1. 정의

자기 자신을 참조하는 가상의 참조 변수

클래스 내에서 메소드를 만들면 자동으로 추가되는 매개변수

 

 

2. 특징

멤버 메소드에 추가되는 가상의 매개변수이기 때문에 멤버 메소드 내에서만 사용 가능

 

 

3. 종류

this.멤버필드, this.멤버메소드 : 메소드의 매개변수와 클래스의 멤버 필드가 동일하기 때문에 구분해줘야 할 때 사용(반드시 사용해야 함)

필요 없다면 this 키워드를 사용하지 않아도 상관 없음

this : 자신의 참조값 자체. 클래스 내부에서 this를 사용하게 되면 객체 생생된 후 할당된 메모리의 참조값을 갖게 됨

언젠가 생성될 내 메모리의 참조값

this() : 사용자가 제한적으로 생성자를 직접 호출할 수 있게 해주는 것

객체 생성시 딱 한 번만 호출됨

생성자에서 다른 생성자 호출시 생성자 호출은 제일 윗부분에 사용해야 함

 

 

* this 이용하여 생성자 호출시의 규칙

- 반드시 생성자 내에서 다른 생성자를 호출해야 함

- 생성자에서 this를 이용한 생성자 호출은 어떠한 작업보다도 먼저 선행되어야 함

- this를 이용한 생성자 호출 앞에는 어떠한 구문도 사용 불가

 

'BackEnd > Java' 카테고리의 다른 글

Servlet :: Servlet(서블릿) 이란?  (0) 2016.04.01
Java :: 다형성  (1) 2016.03.23
Java :: 상속(Inheritance)  (0) 2016.03.20
Java :: 생성자(Constructor)  (0) 2016.03.18
Java :: 메소드 오버로딩 vs 오버라이딩  (0) 2016.03.18

1. 정의

미리 만들어 둔 클래스를 다시 이용하는 방법(클래스에서만 통용되는 기법)

클래스의 특정 부분을 공통적으로 사용하되, 약간의 다른 부분들을 재정의하기 위해 반복하여 정의할 필요 없이 클래스들을 계층 구조로 만들어 사용

모든 클래스는 super 클래스를 가지게 되는데 특별히 지정하지 않아도 자동으로는 java.lang.Object 클래스를 디폴트로 상속받음

하위 클래스가 상위 클래스를 상속받았을 때, 하위 클래스는 상위 클래스의 모든 권한을 갖게 되는 것

하나의 클래스에서는 하나의 슈퍼클래스만 상속 가능

 

자바는 만들어진클래스를 이용하여 새로운 클래스로 확장할 때 extend라는 키워드를 사용함

 

상속을 받는 순간 현재의 클래스는 곧 상위 클래스에서 출발함

 

* 생성자는 상속되지 않고 단지 자식 클래스에 의해 자동으로 호출된다

  상속 과정에서 상위 클래스의 메모리가 생성되지 않는다면, 자식 레벨의 메모리도 생성되지 않는다

 

 

 

 

 

 

 

'BackEnd > Java' 카테고리의 다른 글

Java :: 다형성  (1) 2016.03.23
Java :: this  (0) 2016.03.21
Java :: 생성자(Constructor)  (0) 2016.03.18
Java :: 메소드 오버로딩 vs 오버라이딩  (0) 2016.03.18
Java :: 자바의 기본  (0) 2016.03.18

1. 정의

객체 생성과 동시에 자동으로 호출되는 메소드

메모리 생성 후 자동 호출된다는 점을 이용하여 멤버 변수의 초기화 작업이나 메모리 생성과 동시에 해줘야 하는 작업들을 프로그램하게 됨

 

생성자를 따로 만들지 않는다면 컴파일러가 자동으로 매개변수가 없는, 아무 일도 하지 않는 디폴트 생성자를 만들어줌

 

기본적으로 모든 클래스는 반드시 하나의 생성자를 포함해야 하기 때문에 생성자가 없을 경우에만 클래스와 같은 이름의 생성자를 만들어줌

 

* 디폴트 생성자(Default Constructor)

생성자가 없는 클래스를 위해 컴파일러가 만들어주는 매개변수를 가지지 않는 생성자

 

 

2. 특징

유일하게 리턴 타입이 없는 메소드

생성자의 이름은 클래스의 이름과 동일함

객체의 메모리가 생성된 직후에 호출됨

마음대로 호출이 불가능

 

대부분 new와 함께 상요되며 예적으로 생성자를 호출할 수 있는 경우는 this와 super를 이용하는 경우 뿐

 

디폴트 생성자가 맘에 들지 않으면 매개변수가 있는 새로운 생성자를 사용자가 직접 만들어도 됨

 

 

 

 

<디폴트 생성자 Example031()을 이용하여 name, address, age 값을 초기화한 예>

'BackEnd > Java' 카테고리의 다른 글

Java :: this  (0) 2016.03.21
Java :: 상속(Inheritance)  (0) 2016.03.20
Java :: 메소드 오버로딩 vs 오버라이딩  (0) 2016.03.18
Java :: 자바의 기본  (0) 2016.03.18
Java :: 클래스  (0) 2016.03.16

1. 오버로딩 (Overloading)

같은 이름의 메소드를 여러개 가지며 매개변수의 유형, 갯수가 다르도록 하는 것

호출되는 매개변수의 갯수나 유형에 따라 매칭되어 함수를 실행함(리턴 타입의 유무는 영향을 미치지 않음)

static 예약어도 오버로딩이 가능함(오버로딩 하는 방식은 똑같음)

기능이 유사하거나 비슷한 경우에 메소드 이름을 같게 하여 나오는 결과만 다르게끔 할 때 사용함

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package kr.or.ksmart.A;
 
public class OverloadingTest {
    public void test() {
        System.out.println("매개변수 없음");
    }
    
    public void test(int a, int b) {
        System.out.println("매개변수 " + a + "와 " + b);
    }
    
    public void test(double d) {
        System.out.println("매개변수 " + d);
    }
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
package kr.or.ksmart.A;
 
public class OverloadingTest_Main {
    public static void main(String[] args) {
        OverloadingTest ot = new OverloadingTest();
        
        ot.test();
        ot.test(10);
        ot.test(1020);
    }
}
cs

 

 

OverlodingTest 클래스에서 test라는 중복되는 이름을 가진 메소드가 3개이지만, 매개변수 갯수, 인자가 다르기 때문에 main메소드에서 호출시 각각 다른 값을 리턴한다.

 

 

2. 오버라이딩 (Overriding)

부모 클래스가 가지고 있는 변수, 메소드를 자식 클래스에서 재정의하는 것 (함수의 원형은 부모 클래스와 일치해야 함)

이미 사용중인 클래스의 멤버 함수를 수정하는 경우 그 클래스를 건드리지 않고 update, upgrade 할 경우에만 사용

부모 클래스의 메소드를 호출시 super 키워드를 사용함

 

1
2
3
4
5
6
7
8
9
10
11
12
package kr.or.example.A;
 
public class Animal {
    String name;
    int age;
    
    public void printPet() {
        System.out.println("console> printPet() is called ...");
        System.out.println("이름 : " + name);
        System.out.println("나이 : " + age);
    }
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package kr.or.example.A;
 
// Animal 클래스를 상속받은 Cat 클래스
public class Cat extends Animal {
    String variety;
    
    public void printPet() {
//      super 키워드를 이용하여 부모 클래스인 Animal 클래스의 동명 메소드 printPet() 호출
        super.printPet();
        
        System.out.println("console> printPet() extends is called ...");
        System.out.println("종류 : " + variety);
    }
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
package kr.or.example.A;
 
public class Animal_Main {
    public static void main(String[] args) {
        Cat cat = new Cat();
        
        cat.name = "양순이";
        cat.age = 5;
        cat.variety = "페르시안";
//      variety() 메소드는 extends class 안에 있는 지역변수이므로 나중에 출력됨
        cat.printPet();
    }
}
cs

 

 

 

'BackEnd > Java' 카테고리의 다른 글

Java :: 상속(Inheritance)  (0) 2016.03.20
Java :: 생성자(Constructor)  (0) 2016.03.18
Java :: 자바의 기본  (0) 2016.03.18
Java :: 클래스  (0) 2016.03.16
Java :: 클래스 - 도입  (0) 2016.03.15

1. 클래스의 형태

ㄱ. simple class

ㄴ. 디렉터리 형태의 라이브러리 (패키지를 만드는 것)

ㄷ. jar 형태

 

* 라이브러리를 만들 때에는 먼저 이클립스 내에서 import를 하고 -d 옵션을 이용하여 컴파일

 ( javac    -d    파일명.java)

- d : 컴파일한 결과 클래스 파일이 만들어지는 디렉토리를 현재 디렉토리로 설정하는 옵션

 

* 디렉토리 형태의 패키지 (패키지를 통쨰로 라이브러리로 묶음)

 

 

2. jar

자바 전용 zip 압축 파일

패키지를 배포할 때 사용하는 방법

(cmd : jar.exe    -cf     파일명.jar    /패키지이름)

- 패키지에 들어있는 모든 파일들을 파일명.jar로 묶는다는 의미

(cmd : java    -jar    파일명.jar)

- jar파일 실행

- manifest 속성 : 프로젝트 내에 Manifest.txt 파일을 만들고 내용을 Main-class : com.~(경로)로 적고 반드시 엔터를 두 번 쳐야 함

(cmd : jar    cfm    파일명.jar    Manifest.txt    클래스명.class)

- minifest 파일 실행

(이클립스 : export > java > runnable jar file)

 

 

3. main() 메소드

ㄱ. 자바 가상머신에 의해 호출되는 메소드

ㄴ. main() 메소드가 포함된 클래스를 실행 클래스라고 함

ㄷ. java.exe를 이용하여 메소드 호출

 

 

4. static

객체를 아무리 많이 만들어도 static 변수는 오직 하나의 메모리만 생성

static 멤버 변소의 메모리는 하나만 생성된 후, 공유를 하기 때문에 변수의 값이 모든 객체에서 동일하게 출력되는 것

클래스 설계시 멤버변수 중 모든 인스턴스에 공통적으로 사용해야 하는 것에 static을 붙임

인스턴스를 생성하면 각 인스턴스들은 서로 독립적이기 때뭉네 서로 다른 값을 유지함

경우에 따라 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙임

static이 붙은 멤버변수는 클래스가 메모리에 올라갈 때 자동 생성되기 때문에 인스턴스를 생성하지 않아도 생성 가능

static 메모리는 클래스의 이름만 언급되어도 자동 생성 (객체 생성 하기 전에 클래스 이름으로 static 멤버에 접근 가능)

 

* static 멤버 메소드 내에서 일반 멤버변수 사용 불가 => 에러

 

static 멤버변수만 사용 가능

 

5. byte code

중간 단계의 언어

기계어로 변환하기 좋은 반 기계어

 

* 가상머신(자바 운영체제) : 바이트 코드를 동작시키기 위해 해석하고 실행하는 시스템

 

 

6. process

프로그램이 로딩되어 실행 가능 상태가 되었을 때의 메모리

ㄱ. 구성

- 상수 메모리 영역 : 프로그램에서 모아두는 메모리 공간

- 코드 메모리 영역 : 프로그램의 코드 위치

- 스택 메모리 영역 : 프로그램이 실행될 때 필요한 메모리 공간

 

 

7.  stack frame

하나의 메소드를 호출하는데 필요한 메모리 덩어리

메소드 하나당 하나의 스택 프레임이 존재

ㄱ. 지역변수 (Local Variable)

ㄴ. 매개변수 (Parameter)

ㄷ. 리턴값이 저장되는 곳 (Return Value)

 

 

8. 메모리

ㄱ. 구성

- 스택 (Stack)

- 힙 (Heap)

 

* 가비지 콜렉터 (Garbage Collector) : 자바의 메모리 관리자 역할 (힙에 생성되는 객체의 메모리)

더이상 사용하지 않는 메모리나 불필요한 메모리 제거

메모리가 부족하면 메모리의 조각 모음을 함

'BackEnd > Java' 카테고리의 다른 글

Java :: 생성자(Constructor)  (0) 2016.03.18
Java :: 메소드 오버로딩 vs 오버라이딩  (0) 2016.03.18
Java :: 클래스  (0) 2016.03.16
Java :: 클래스 - 도입  (0) 2016.03.15
Java :: 데이터와 변수  (0) 2016.03.14

1. 클래스

데이터 타입 생성기

데이터와 메소드가 결합된 형태의 사용자 정의 데이터 타입

여러 개의 작업을 하나로 묶어서 관리할 수 있는 작업의 덩어리. 사용자가 필요로 할 때 작업을 대표하는 이름을 통해 반복적으로 호출 가능

 

ㄱ. 구성 요소 : 멤버변수, 멤버필드 - 클래스가 살아 있는 동안만 생존

  멤버메소드 - 클래스의 메소드 안에서만 선언되고 메소드 안에서만 사용되고 사라짐

 

* JDK (Java Development Kit) : 자바 컴파일러를 포함한 개발 도구

- SE (Standard Edition) : 표준 개발 환경

- EE (Enterprise Edition) : 기업 솔루션 개발 환경

- ME (Micro Edition) : 모바일 솔루션 개발 환경

=> EE이든 ME이든 기초는 SE에서 출발함

 

* JDK 설치 : 자바 설치 후 환경 설정을 위해 설치 디렉토리를 기억해야 함

- java.exe : 실제 컴파일러 역할

- javac.exe : 자바 프로그램의 실행을 위한 명령 해석기 역할

 

* JAVA DOC API : 사용한 클래스 라이브러리의 도움말을 HTML 형태로 제공. 클래스 설명서와 같은 역할

 

* 자바의 환경 설정

ㄱ. 자바의 bin 디렉터리 경로(path) 설정

ㄴ. 현재 작업하는 디렉터리의 클래스 패스(class path) 지정

 

 

2. 메소드

ㄱ. 분류

일만 하는 메소드 - 리턴하는 값이 없음 => void 형으로 메소드를 선언

일한 후 값을 리턴하는 메소드 : 값을 리턴함

 

* return : 메소드의 종료

메소드를 끝내기 위해서는 메소드 내의 모든 작업을 완료하던지, 아니면 return을 통해 메소드의 특정 부분에서 작업을 끝내면 됨

만약 값을 가지고 리턴한다면 반드시 리턴하는 값의 형을 메소드의 선언부에 명시해야 함

리턴하지 않는다면 void형으로 명시

 

ㄴ. 메소드의 프로토타입(형태) : 리턴 타입 + 메소드 이름(매개변수)

ex. 자판기에 돈을 넣으면 음료가 나온다

- 자판기 : 주체 (메소드 이름)

- 돈 : 매개변수, 시작점

- 음료 : 리턴 타입, 결과

 

ㄷ. 메소드 생성시 주의점

- 하나의 메소드는 한 가지 기능만 구현

- 반복적으로 수행되는 여러 문장을 하나의 메소드로 정의

- 관련된 여러 문장을 하나의 메소드로 정의

- 리턴값과 선언부에 명시된 리턴타입은 반드시 일치해야 함

- 값을 리턴하고자 할 때만 리턴해야 함

- 호출시 매개변수의 갯수와 매개변수의 형을 맞춰서 호출해야 함

- 메소드 이름은 동작적인 의미를 사용하는 것이 좋음

- 메소드 이름은 소문자로 시작, 이름 중간에 새로운 단어가 들어가면 대문자로 시작

 

ㄹ. 종류

- call by name : 메소드 이름에 의해 호출. 특정 매개변수가 없음(정적일 때)

- call by vaule : 메소드 이름으로 호출시 특정 매개변수를 전달함(동적일 때) => 그 값을 기초로 실행

- call by reference : 매개변수로 사용되는 값이 특정 위치를 참조하는 reference 함수

 

* 메소드는 변수의 역할을 할 수 있다 => 기본 데이터 타입 변수 : 직접 할당 / 메소드 : 간접 할당

- 직접 할당 : 변수의 재할당 (ex. int x = 5;)

- 간접 할당 : 메소드의 재할당 (ex. int x = sum(1, 2); / x = sum(3, 4);)

 

* 리턴 값을 가진 메소드는 호출과 동시에 그 자체로 변수의 역할이 가능

* 메소드의 리턴값이 존재한다면 호출되었을 때 하나의 변수로서의 역할을 하게 됨

 

* 값 복사 (Value Copy)

메모리가 둘 다 존재하는 상태에서 한 쪽의 메모리에 들어 있는 값을 다른 쪽의 메모리로 복사하는 행위

(ex. a = b)

자바에서 메소드 호출시 매개변수가 전달되는 방식은 전부 값 복사를 이용하고 있는 것

 

* 멤버 (Member)

ㄱ. 클래스 내의 변수 : 멤버필드, 멤버변수

ㄴ. 클래스 내의 메소드 : 멤버메소드

 

* 인스턴스 변수

Example example = new Example();

example.멤버변수();

객체의 멤버메소드를 쓰려면 객체 생성(인스턴스 생성) 먼저 해야 함

- 멤버변수 : public 속성이거나 default 속성이어야 함(private : getter / setter 통해서만 가능)

 

* 데이터와 메소드가 분리되어 있을 때의 문제점

- 메소드 호출 시마다 데이터를 매개변수로 넘겨줘야 함

- 특정 데이터를 사용하는 메소드가 몇 개인지 알 수 없음

- 특정 데이터를 사용하는 메소드를 묶어서 관리할 수 없음

 

 

3. 접근 제어

새로운 데이터 타입을 만들고 그 데이터 타입으로 객체를 선언한 후 객체 내의 멤버 변수에 값을 할당할 때, 값을 직접 할당할 수 있는가 없는가를 결정하는 접근 제한자(Access Identifier)

메모리를 이용한 객체에 접근하여 멤버에 점을 찍고 접근할 수 있는지 없는지를 결정함

 

ㄱ. 목적

- 자료의 은폐화(Encapsulation)

 

ㄴ. 접근 제어 방법

- 객체를 이용한 멤버의 접근 제어

- 상속관계에서 클래스와 하위 클래스간의 접근 제어

 

ㄷ. 접근 지정자의 종류

- public : 다른 클래스, 다른 패키지에서도 접근 가능

- private : 같은 패키지 내의 같은 클래스 내에서만 접근 가능

- protected : 같은 패키지 내에서만 접근 가능

- default : 접근 지정자를 생략하고 클래스를 선언한 경우. 같은 패키지 내의 클래스들만 접근 가능

 

* 오로지 public 메소드만이 private에 접근 가능

 

* private를 사용하는 이유

- 자료를 보호하기 위해 => public 멤버 메소드를 통해서만 접근하게 함(은폐화, 캡슐화, 자료 보호) (getter / setter)

- 내부적으로만 사용하기 위해

 

* 메모리 생성

- 데이터 타입에 해당하는 만큼의 메모리를 확보하는 일

- new 연산자를 사용하고 무조건적으로 생성자를 호출

 

* 객체 : 클래스를 이용하여 새로운 데이터 타입을 만드는 것

  기본 데이터 타입의 변수와 구별하기 위해 객체라고 칭함

 

* == 연산자 : 자바에서 클래스의 참조값을 비교할 때 사용

 

* 참조값 (Reference Value)

- 객체의 메모리를 생성시 메모리와 연결된 유일한 숫자값

- 이 숫자값을 참조 변수가 받으며 자바에서는 참조값으로 해당 객체를 제어 가능

- 참조값으로 작업시 내부에서 참조값에 연결된 메모리로 작업하는 것과 같은 효과

=> 객체를 하나 생성하면 객체 변수를 위한 공간 / new 했을 때 힙 영역에 생성되는 객체 자체의 메모리 공간

이렇게 2가지가 생성됨

 

* 하나의 파일에 여러 개의 클래스가 존재할 때 하나의 클래스만 public 클래스가 될 수 있음

  보통 main을 포함한 클래스를 public 클래스로 둔다

'BackEnd > Java' 카테고리의 다른 글

Java :: 메소드 오버로딩 vs 오버라이딩  (0) 2016.03.18
Java :: 자바의 기본  (0) 2016.03.18
Java :: 클래스 - 도입  (0) 2016.03.15
Java :: 데이터와 변수  (0) 2016.03.14
Java :: 삼항 연산자  (0) 2016.03.13

1. 구조체

데이터 타입 생성기

사용자가 직접 데이터 타입을 디자인할 수 있는 도구

변수 선언과 동시에 메모리가 생성됨

기본 데이터 타입은 변수 선언 + 메모리 생성

클래스의 기본 개념 포함하고 있음

구조체가 모여서 클래스가 됨

 

* 구조체 + 메소드 = 클래스

 

 

2. 자바 소스 파일을 작성할 때의 주의 사항

ㄱ. 자바 코드의 파일명과 확장자 : 클래스 이름과 파일명은 동일하다

소스 파일은 .java 파일을 사용한다

ㄴ. 클래스 파일 : 코드를 컴파일하면 클래스명과 동일한 .class 파일이 생성된다

즉 컴파일된 결과 파일은 .class 확장자가 붙는다

main() 을 포함한 클래스가 실행 클래스가 된다

 

* 클래스는 변수 이름만 주는 것이 아니라 new 연산자와 생성자를 이용하여 메모리를 생성해주어야 한다

 

* 상수 < 변수 < 데이터 타입

 

 

3. 클래스

변수 선언 + 메모리 선언

여러 개의 변수를 묶어서 하나의 새로운 데이터 타입을 만드는 것

 

* 메모리가 생성됐을 때(클래스) 메모리의 각 부분에 접근할 수 있는 방법을 제공하는 것(변수)

'BackEnd > Java' 카테고리의 다른 글

Java :: 자바의 기본  (0) 2016.03.18
Java :: 클래스  (0) 2016.03.16
Java :: 데이터와 변수  (0) 2016.03.14
Java :: 삼항 연산자  (0) 2016.03.13
Jsp :: jsp 페이지 구성 요소  (0) 2016.03.03

1. 정의

자료의 형태.

메모리를 생성할 때 사용하는 도구로서 프로그래머와 컴파일러 사이의 규약

서로 다른 비트의 조합으로 이루어진 각기 다른 형태를 구분짓는 기준

 

 

2. 목적

생성할 메모리 크기(size)를 지정

생성할 메모리 형태(type)를 지정

 

 

3. 종류

ㄱ. 기본 데이터 타입 (Primate Data Type)

- 일반적으로 많이 사용하는 데이터 타입. 컴파일러 차원에서 제공

  byte(1), char(2), int(4), long(8), float(4), double(8), boolean(1). 정수형과 실수형으로 나뉨

ㄴ. 참조형 데이터 타입

- 기본형을 제외한 나머지 타입. String, List 등 본인이 만든 클래스도 참조형 타입이 될 수 있음.

 

 

4. 데이터 타입의 형 변환

ㄱ. 큰 수 vs 작은 수 : 큰 수

ㄴ. 덜 정밀한 수 vs 정밀한 수 : 정밀한 수

ㄷ. 정수 vs 실수 : 실수

ㄹ. 작은 수가 큰 수로 형변환 되는 것은 자동이다 (반대 : 강제 형변환이 필요 - 오버플로우 발생)

ㄹ. 덜 정밀한 수가 정밀한 수로 형변환 되는 것은 자동이다 (반대 : 강제 형변환이 필요 - 오버플로우 발생)

 

 

5. 상수

내가 만든 메모리가 아닌 이미 만들어져 있는 데이터 메모리 그 자체

 

 

6.변수

데이터 타입을 정해주면 메모리에 존재할 수 있는 존재의 의미

변수명은 해당 메모리를 제어할 수 있는 유일한 수단(=식별자)

 

 

7. 변수 이름 만드는 방법

ㄱ. 첫 번째 문자는 영문자나 _(언더바)로 시작한다

ㄴ. 첫 번째 문자로 숫자는 사용하면 안된다

ㄷ. 변수 이름은 대소문자를 구분한다

 

 

8. 변수의 종류

ㄱ. 인스턴스 변수(Instance Variable) : 클래스 멤버 변수. static을 선언하지 않고 적은 변수

ㄴ. 클래스 변수(Class Variable) : static 키워드를 선언한 변수

하나의 클래스 안에서 다수의 인스턴스가 생성되더라도 오직 하나의 값만 가진다. 여기에 final 키워드를 추가하면 값 변경 불가

ㄷ. 지역 변수(Local Variable) : 메소드 안에서 사용되는 변수

ㄹ. 파라미터(Parameter) : 메소드에 전달되는 인자로 사용되는 변수

 

* 스칼러 변수 : int n;과 같이 값이 1개만 들어가는 변수

   벡터 변수 : int[10] n;과 같이 값이 여러개 들어가는 변수

 

 

9. 변수의 선언

데이터 타입 + 변수명

 

 

10. 할당(Assignment)

변수에 값을 집어넣는 행위

 

 

* 할당의 법칙

ㄱ. 오른쪽에서 왼쪽으로만 할당이 가능

ㄴ. 변수끼리도 할당이 가능

ㄷ. 변수에 이미 상수가 존재하더라도 다른 것을 할당하면 마지막에 넣은 것이 최종적으로 할당됨

 

* 데이터는 할당값을 전달하지만 객체의 경우에는 할당값이 아닌 객체의 주소값이 전달됨

'BackEnd > Java' 카테고리의 다른 글

Java :: 클래스  (0) 2016.03.16
Java :: 클래스 - 도입  (0) 2016.03.15
Java :: 삼항 연산자  (0) 2016.03.13
Jsp :: jsp 페이지 구성 요소  (0) 2016.03.03
Jsp :: get vs post  (0) 2016.03.02

1. 정의

조건에 따라 두 식중 하나를 반환.

코드가 간결해지기는 하나 가독성이 좋지 않음

일반적으로 if-else 구조에서 많이 사용

 

 

2. 연산자

(조건) ? (조건이 참일 떄) : (조건이 거짓일 때)

'BackEnd > Java' 카테고리의 다른 글

Java :: 클래스 - 도입  (0) 2016.03.15
Java :: 데이터와 변수  (0) 2016.03.14
Jsp :: jsp 페이지 구성 요소  (0) 2016.03.03
Jsp :: get vs post  (0) 2016.03.02
Java :: Iterator  (0) 2016.03.01

1. 스크립트릿 (Scriptlet)

<%        %>

jsp 페이지 내에서 자바 코드 실행시 사용되는 블록

 

 

2. 표현식 (Expression)

<%=        %>

어떤 값을 출력 결과에 포함시키고자 할 때 사용

변수 또는 문자나 숫자를 직접 입력

 

 

3. 선언부 (Declaration)

<%!        %>

jsp 페이지의 스크립트릿이나 표현식에서 사용할 수 있는 함수(메소드) 작성시 사용

'BackEnd > Java' 카테고리의 다른 글

Java :: 데이터와 변수  (0) 2016.03.14
Java :: 삼항 연산자  (0) 2016.03.13
Jsp :: get vs post  (0) 2016.03.02
Java :: Iterator  (0) 2016.03.01
Java :: HashMap  (0) 2016.02.28

+ Recent posts