컴파일러와 바이트코드
언어 | 필요 컴파일러 | OS | 명령어 처리체계 | ||
C | C Compiler | Windows | 32bit | Windows용 32bit C Compiler | |
C | C Compiler | Linux | 64bit | Linux용 64bit C Compiler | |
C | C Compiler | Mac | 32bit | Mac용 32bit C Compiler | |
CPU, OS별로 기계어 배치가 다르기때문에 전용 컴파일러가 필요하다.
유닉스에는 기본적으로 컴파일러가 포함되어 있다.
Windows는 컴파일러가 포함 안됨.
자바는 운영체제의 컴파일러에 관계 없이 중간형태의 기계어인 bytecode(= P code)가 컴파일러를 통해 생성된다. (*.class)
그렇기에 bytecode는 운영체제의 종류에 따라 실행해주는 player[JVM]가 필요하다.
JRE는 JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다
개발자는 JDK를 설치하여 사용한다. (JDK = JRE + Development Tool)
OS | 명령어 처리체계 | JVM | |
Windows | 32bit | Windows용 32bit JVM | |
Linux | 32bit | Linux용 32bit JVM | |
1파일 1클래스를 작성하는 것이 유지보수에 도움이 된다.
클래스 앞에 접근지정자 public를 붙이면 같은 프로젝트 내 모든 클래스에서 사용할 수 있도록 한다. 지정자를 안붙이면 default상태로 같은 패키지 내에 있는 클래스에서만 사용 가능하다.
public이 붙은 클래스는 파일명과 동일해야만 한다. => 별도 파일로 분리하는 것이 편함.
소스파일이 많아졌을 때의 관리를 위해 소스와 클래스파일을 별도로 분리해 보관하는 것이 좋다. => 패키지명을 지정함으로 이 소스가 어떤 패키함에 있는지 관리하기 편하게 한다.
소스는 src폴더, 클래스파일은 bin폴더에 보관하는 것이 일반적이다. => javac -d ./bin … 등 처럼 저장할 폴더를 지정해줘야 한다.
폴더명은 왠만해서는 소문자로 통일하라.(간혹가다 대소문자를 구분하는 OS(Linux)가 있기때문)
컴파일한 클래스 파일을 실행할 때에도 클래스 파일이 어디에 있는 지 위치를 지정해줘야한다. => java -classpath(-cp) ./bin … 처럼 파일의 위치를 지정해줘야한다.
Product(실체, 개념) - [Programming](추상적인 수치로 변형 ex 소리, 영상 등을 2진데이터로 변형 : 추상화) -> data(추상적) - [가공] -> Data Information -> Information
데이터 표기법 : Literal