Java primitive type, wrapper class and autoboxing

Programming Language/Java

※ Java Primitive Type, Wrapper Class and Auto-Boxing

▶ primitive type 이란?

JAVA에서 사용되는 8가지 기초자료형을 말한다. 

method의 parameter 전달시 기초 자료형은 값 참조(call by value)로 이루어진다.

8가지 기초자료형는 다음과 같다.


 Variable Type

 Default Value

 단위(bits)

 boolean false

 1

 byte

 (byte)0

 8(=1byte)

 short

 (short)0

 16(=2byte)

 char

 '\u0000'

 16(=2byte)

 int

 0

 32(=4byte)

 float 0.0f 32(=4byte)

 long

 0L

 64(=8byte)

 double

 0.0d

 64(=8byte)

* Class Variable 내에서는 Boolean Type은 Primitive Type이 아니며, 내부적으로 int 로 변경되며, Boolean의 Default가 False이면 int 값 0으로 인식된다.



▶ Wrapper Class 이란?

primitive type를 객체로 사용하기 위한 개념이다.

8가지 primitive type와 대응되는 wrapper class은 다음과 같다.

Variable Type

  wrapper class

 boolean

 Boolean

 byte

 Byte

 short

 Short

 char

 Charater

 int

 Integer

 float

 Float

 long

 Long

 double

 Double

ex1)

Integer obj = new Integer(1);


▶ Auto-Boxing 이란?

위 예제와 같이 선언된 obj에 wrapper class를 이용해서 인스턴스화 하지 않아도 자동으로 형변환해주는 것을 말한다.

ex2)

Integer obj = 1; 


Auto-Unboxing은 반대로 primitive type에 wrapper class의 기본자료형변환 처리하는 메소드를 이용하지 않고 대입해도

자동으로 primitive type으로 형변환해주는 것을 말한다.

ex3)

int obj2 = new Integer(2);



▶ 출처 및 참조

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

java performance fundamental 저자.김한도 p236

[ASP] Sub, Function Procedures

Web

ASP는 Sub, Function 두 종류의 Procedures 존재.


▶ Sub

 값 반환 불가

 ex)

  Sub mysub()

   response.write("I was written by a sub procedure")

  End Sub

 

▶ Function

 값 반환 가능

 ex)

  Function myfunction()

   some statements

   myfunction=some value

  End Function

 

▶ Sub, Function 비교

 둘 다 Procedures 호출시 매개인자를 넘겨줄 수 있다.

 값 반환 가능여부에 따라서 구분된다.


▶ 출처

http://www.w3schools.com/asp/asp_procedures.asp

[ASP] Empty, Nothing, Null 차이

Web

http://www.w3schools.com/asp/asp_ref_vbscript_keywords.asp 작성된 영어 문서를 제가 알기 쉽게 번역하였습니다.


▶ Empty, Nothing, Null

3개의 상태는 각기 다른 상태이며, 각기 가지는 의미가 미묘하게 차이를 지닌다.

(Empty != Nothing,  Empty != Null, Nothing != Null)


* Empty

 초기화 되지 않는 상태로 변경. 즉, 변수선언 된 바로 직전상태로 만든다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ NOT uninitialized

Set d = Empty '/ uninitialized

 

* Nothing

 초기화 되지 않는 상태로 변경. 또는, 시스템 상 할당된 자원을 해제한다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ NOT uninitialized

Set d = Nothing '/ uninitialized & release system resources

 

* Null

 해당 변수를 유효하지 않는 값으로 변경. sql에서 사용되는 NULL가 같다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ valid data

Set d = Null '/ no valid data


▶ Dim, Set

 Dim: 변수선언, 메모리할당

 Set: 객체인스턴스 생성 또는 값 할당

 ex)

  Dim d '/ 변수선언

  Set d = Date() '/ 값할당 또는 인스턴스 생성 


▶ 출처

http://www.w3schools.com/asp/asp_ref_vbscript_keywords.asp