자바
현재의 오라클로 이전된 예전의 Sun MicroSystems 소속의 개발자 제임스 고슬린 등의 일부연구진들은 그린프로젝트 라는 이름으로 오크Oak라는 언어를 개발하고 있었다.
오크는 오디오, TV, 세탁기 등 각각의 가전제품을 제어하는 통합된 언어로써 개발중이었지만 결국 목적을 달성하지 못하고 실패로 돌아간다. (일종의 Embeded시스템을 개발하려고 했지만 C나 C++로 개발 하는것이 다 낫다.)
그 무렵 웹www이 급속도로 발전하게 되고, 이에 발 맞추고자 썬에서는 오크의 명칭을 Java로 바꾼 뒤 서로 다른 컴퓨터(OS, 운영체제)사이에서 호환성과 이식률을 높인 언어로 발전시켰다. JVM(Java Virtual Machine)을 개발하기에 이르렀다.
=>자바로 어떠한 프로그램을 짜면 어느 OS에서도 실행된다.
JDK(Java Development kits)
Java SE(Standard Edition)
Java EE(Enterprise Edition)
Java로 할 수 있는것으로 CLI(Command Line Inerface:CUI:Command User Interface) Application, GUI(Graphic User Interface) Application, Java Applet(Web 브라우저에서 작동하는 프로그램으로 HTML안에서 애플릿을 지정하면 Web 서버로부터 자동으로 다운로드되어 클라이언트의 Web 브라우저에서 동작된다), Java Servlet(Web서버 상에서 동작하는 프로그램으로 서버에서 실행되고, 실행 결과를 Web페이지로 클라이언트에게 보내는데 서버에서 동작하는 CGI보다 효율이 좋다), JSP(Java Server Page : HTML문서와 Java프로그램을 조합해서 동적인 Web 페이지를 간단하게 만들 수 있다. JSP는 서버에서 실행되고 그 결과를 클라이언트에게 보내주는데 HTML문서속에 Java 코드를 삽입하는 형태로 작성된다.), 그리고 Java Beans(Java로 작성한 프로그램을 부품(컴포넌트)으로 취급해서 이 부품들을 조합해서 Application을 간단하게 만들어 낼 수 있다.).
CGI(Common Gataway Interface)는 웹 브라우저의 요구를 받아서 웹 서버가 실행하는 프로그램 인터페이스 이다. 스크립트 언어를 Perl로 작성되는데 CGI프로그램은 HTML문을 생성하고 웹 서버는 그것을 받아서 브라우저에 넘긴다. CGI프로그램을 사용하면 웹 페이지로의 접근횟수 등을 볼 때마다 다른 정보를 웹 페이지에 실을 수 있도록 동적 웹 페이지를 생성한다.
CSS(Cascadiong Style Sheets)는 HTML이나 XML(XML의 방언인 SVG, XHTML포함)로 작성된 문서의 표시방법을 기술하기 위한 스타일 시트 언어이다. CSS는 요소가 화면, 종이, 음성이나 다른 매체상에 어떻게 렌더링(rendering : 조합)되어야 하는지 지정하는 기법이다.
Java VM(Virtual Machine)은 자바로 작성된 프로그램을 실행하기 위한 환경이다. 자바프로그램의 실행 파일은 플랫폼에 의존하지않는 바이트코드로 만들어져있다. Java VM은 바이트코드를 실행하는 머신의 기종에 따라 변환해서 실행한다. 이런 기능은 Java VM만 있으면 기종이나 OS에 무관하게 Java프로그램을 실행하게 해주므로 컴퓨터 뿐만아니라 JavaVM이 탑재된 가전제품이나 게임기 등에서도 실행 될 수 있다.
자바프로그램은 우선 프로그램을 기술한 뒤 > 클래스_명의 대문자, 소문자 까지 똑같이 써서 파일_명을 지정해서 저장하는데 *.java 확장자가 되어야 한다. 이를 소스파일, 소스 프로그램이라고 한다 > 이제 javac 컴파일러로 컴파일하면 클래스파일이 생성되어 소스파일과 동일한 디렉토리에 저장된다> 이제 java명령어로 이 프로그램을 실행하는데 *.java 확장자는 필요없다 > 이제 java VM이 클래스파일을 읽어들여서 프로그램을 실행한다.
=>C나 Java와 같은 프로그램은 사람이 작성한 코드를 컴퓨터가 이해할 수 있게 이진 파일로 변환하는 과정을 Compile한다고 하고, 이를 수행하는 도구를 Compiler라고 한다. G++, GCC등이 있으며 Python, R, Bash Shell등은 컴파일 과정 없이 바로 사용할 수 있는 Interpreter언어도 있다.
=>컴파일이 필요한 언어는 먼저 컴파일 과정을 거치기 때문에 소스코드 수정 등(수정 후 다시 컴파일 과정이 있음)이 불편하지만, 일단 컴파일 된 프로그램은 속도가 매우 빠르다. 인터프리터 언어는 컴파일과정이 없어서 매우 편리하게 즉시 사용될 수 있지만 속도가 느리다.
자바는 대소문자를 엄격하게 구별한다.
주석은 /* ~ */ 혹은 //를 사용한다.
예약어(try, if, else, while, ...)는 구문에서 사용할 수 없다.
하나의 문장이 끝날 때에는 ;를 써준다.
문자char는 ' '사이, 문자열(문자의 조합String)은 " "사이에 넣는다.
메서드method는 객체object의 기능을 표현하는 방법으로 C언어의 함수의 역할과 정의방법이 유사하지만 C에서처럼 독립적으로 호출될 수 없고 반드시 객체와 같이(study.score()) 사용되어야 한다.
클래스class는 객체의 구조, 종류, 동작 등을 나타내고 객체를 생성하는 일종의 틀이다. 클래스는 객체의 모든 특성(클래스 변수와 클래스 메서드)을 가지고 있어서, 자바프로그램은 클래스의 집합으로 부르기도 한다.
변수variable란 데이터를 넣어두는 상자와 같은것으로 메모리공간에 자리한다. 프로그램에서 문자와 숫자를 다룰 때 그것을 변수에 넣어두는데, 자바에서는 변수의 내용에 따라서 정수형, 실수형, 문자형 등 형type을 지정해서 용도에 맞게 사용하게 한다.
배열은 문자나 대량의 동일한 성질의 데이터를 하나의 변수_명으로 묶어서 변수처럼 사용하게 한다. Python에서의 list(정수,문자,...)는 매우 유용한 데이터타입이다.
1972 : C(함수중심)
1983 : C++(객체중심)
1991 : Python
1995 : Java
2002 : C#
java sdk(software development kit) 자바 개발도구에 java Java SE(Standard Edition 표준), Java EE(Enterprise Edition 서버용)가 있음. java se 12가 최신이지만 현장에서는 java se 7~8 사용.
java는 jdk(java development kit) 자바개발도구, jre(java runtime environment: 자바 실행환경(jdk에 포함됨)), 그리고 jvm(java virtual machine) 자바 가상머신(운영체제 독립적으로 실행됨)으로 이뤄짐
Java를 설치할 Windows에 Chrome이 설치되어 있으면 좋고 Windows에서는 확장자를 보이게 해주는 것이 좋은데 windows 탐색기>상단 구성>폴더 및 검색옵션>보기 탭>알려진 파일 형식의 확장면 숨기기를 체크 풀고>확인하고 나가기
자바는 OPP(Object oriented programming)인데 객체지향적인 상속, 캡슐화, 다형성이 잘 지원된다. Java API는 운영체제에 독립적이어서 Windows 머신에서 생성항 클래스를 Linux머신에서도 돌릴 수 있게 JVM으로 관리된다. Garbage Collection을 통해서 ㄱ발자가 메모리를 관리하지 않아도 자바 스스로 사용하지 않는 메모리를 회수해서 비워준다. 동적으로 작동하므로 적절한 시기에 라이브러리를 동적으로 로딩해서 처리하게 한다. 네트워크와 웹에서의 작동을 위해 Thread(병렬처리) 라이브러리를 가지고 있다. 분산처리 네트워크에 강하다.
이클립스 사용 전 환경변수를 지정하자.
내PC -> 속성 -> 관련설정 -> 환경변수
후에 JDK 경로를 입력해준다. (ex: C:\Program Files\Java\jdk-12.0.1\bin)
'코딩 > JAVA' 카테고리의 다른 글
JAVA 5. 명령프롬프트로 컴파일 (0) | 2022.07.24 |
---|---|
JAVA 4-1. 외부에서의 입력 (0) | 2022.07.24 |
JAVA 4. 입력과 출력 (0) | 2022.07.24 |
JAVA 3. 데이터 타입 (0) | 2022.07.24 |
JAVA 2. 이클립스 활용 (0) | 2022.07.24 |