[JAVA] STATIC/ARRAY

2017. 7. 22. 21:55Study_ing/About_Programming

#STATIC
[Test_01.java source]

  1. .java 파일의 이름과 public class의 이름은 동일해야 compile error가 발생하지 않습니다.
  2. JAVA는 독특한 구조를 가지고 있습니다. public class 내에 함수 형태로 존재합니다.
  3. static으로 선언된 모든 것은 memory에 미리 할당되어 있으므로 여러 번 사용할 시 memory가 부족할 수 있습니다.
  4. contructor는 class의 object가 새로 생성되면 자동으로 실행됩니다.
  5. object는 class가 정의하는 특성을 가진 가상의 덩어리입니다. 각 class는 shape가 동일하나 성분은 다른 존재라고 할 수 있다.

[Test_01.java source의 debugging result]

  1. static은 memory 준비 과정에서 memory에 미리 할당됩니다. 그러므로 Test_01 constructor와 test.print()가 실행되기 전 먼저 실행됩니다.
  2. constructor는 object가 선언되면 자동으로 실행되므로 그 다음 줄에 출력됩니다. 다만, 명령어가 System.out.println이 아니라 System.out.print 이므로 enter line을 포함하지 않은 채 출력됩니다.
  3. 마지막으로 test.print() 함수로 인해 2번에서 출력한 "Test "에 이어 "Hello~"가 출력됩니다.

#ARRAY

  1. 연속된 memory address에 data가 입력되는 자료구조
  2. static array는 pointer로 표현 가능하나 pointer로 static array를 생성할 수는 없다. 즉, array와 pointer는 엄연히 다른 존재이다.
  3. JAVA는 모든 것이 pointer이다. 즉, JAVA에서는 static array를 생성할 수 없다.

#PLUS

  1. C는 native 언어, JAVA는 not native 언어입니다.
  2. class로 이루어져 있는 .java 파일은 JAVAC 명령어에 의해 compile 됩니다. 이를 통해 만들어진 class 파일은 JAVA 명령어를 통해 실행파일이 됩니다.
  3. unsigned를 포함한 데이터는 음수가 존재하지 않습니다. 존재 자체로 unsigned data는 JAVA에서 BYTE가 유일하다. BYTE는 과거 통신용으로 다수 사용했습니다. 일종의 data 잘라보내는 용도로 사용됩니다.

'Study_ing > About_Programming' 카테고리의 다른 글

[피지컬컴퓨팅] 아두이노에 대하여  (2) 2018.07.11
[피지컬컴퓨팅] 서보모터  (0) 2018.07.06
[Linux] set nu/nonu  (0) 2016.12.21
[OS] 프로세스 메모리 구조  (0) 2016.05.03