[JAVA] STATIC/ARRAY
2017. 7. 22. 21:55ㆍStudy_ing/About_Programming
#STATIC
[Test_01.java source]
- .java 파일의 이름과 public class의 이름은 동일해야 compile error가 발생하지 않습니다.
- JAVA는 독특한 구조를 가지고 있습니다. public class 내에 함수 형태로 존재합니다.
- static으로 선언된 모든 것은 memory에 미리 할당되어 있으므로 여러 번 사용할 시 memory가 부족할 수 있습니다.
- contructor는 class의 object가 새로 생성되면 자동으로 실행됩니다.
- object는 class가 정의하는 특성을 가진 가상의 덩어리입니다. 각 class는 shape가 동일하나 성분은 다른 존재라고 할 수 있다.
[Test_01.java source의 debugging result]
- static은 memory 준비 과정에서 memory에 미리 할당됩니다. 그러므로 Test_01 constructor와 test.print()가 실행되기 전 먼저 실행됩니다.
- constructor는 object가 선언되면 자동으로 실행되므로 그 다음 줄에 출력됩니다. 다만, 명령어가 System.out.println이 아니라 System.out.print 이므로 enter line을 포함하지 않은 채 출력됩니다.
- 마지막으로 test.print() 함수로 인해 2번에서 출력한 "Test "에 이어 "Hello~"가 출력됩니다.
#ARRAY
- 연속된 memory address에 data가 입력되는 자료구조
- static array는 pointer로 표현 가능하나 pointer로 static array를 생성할 수는 없다. 즉, array와 pointer는 엄연히 다른 존재이다.
- JAVA는 모든 것이 pointer이다. 즉, JAVA에서는 static array를 생성할 수 없다.
#PLUS
- C는 native 언어, JAVA는 not native 언어입니다.
- class로 이루어져 있는 .java 파일은 JAVAC 명령어에 의해 compile 됩니다. 이를 통해 만들어진 class 파일은 JAVA 명령어를 통해 실행파일이 됩니다.
- 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 |