728x90
반응형
1-1 Java 언어와 Java 프로그램
Java언어의 기원
- 1990년 Sun Microsystems의 제임스 고슬링 Oak 언어 개발 -> 후에 자바로
- 1995년 Java와 Hot Java 발표
웹의 확산과 함께 주목을 받음 - 1996년 JDK 1.0
1998년 Java2 SDK, SE 1.2 (1.2부터 Java2라고 부른다)
2014 JDK SE8
2020 Java SE15 - 2009년 Oracle이 Sun을 인수했다
Java 언어의 특징
- C/C++ 언어와 유사하나 단순함
- 플랫폼에 독립적 (JVM으로 운영체제에 독립적)
- 완전한 객체지향 언어 (C++은 하이브리드)
- 웹 또는 네트워크 프로그래밍 용이
- 엄격한 자료형 검사
- 예외 처리 기능
- 멀티 스레딩 지원
Java 프로그램의 실행
자바 소스 파일 (.java) - 컴파일러 - 자바 바이트 코드 (.class) - Java Virtual Machine
자바는 완전한 객체 지향 언어로 자바 소스코드를 작성하는 것은 클래스를 작성하는 것과 같다
- 바이트 코드
: 클래스 파일이라고도 한다. Java소스를 컴파일한 결과물
: write once, run anywhere
애플리케이션과 애플릿
: 자바 프로그램은 실행 방식에 따라 애플리케이션과 애플릿으로 나눌 수 있다
애플리케이션
- 플랫폼에서 실행되는 프로그램, 실행을 위해 main() 함수가 필요하다
애플릿
- HTML 웹페이지에 포함되어 웹 브라우저를 통해 실행 (브라우저에서 사용되는, 요즘에는 사용하지 않는다)
Java 플랫폼
플랫폼
- 프로그램의 실행을 위한 하드웨어, 소프트웨어 환경
- 자바 플랫폼은 자바 프로그램의 개발과 실행을 위한 환경
- 운영체제에 맞는 자바 플랫폼을 설치해야함
Java 플랫폼의 구성
Java VM
- Java프로그램 실행 환경을 제공하는 가상 기계
- Java프로그램의 구동 엔진
- 실행에 필요한 사항을 관리
- 메모리 정리를 자동으로 실행 (가비지 컬렉션)
Java API
- 프로그램의 개발에 필요한 클래스 라이브러리 (C언어의 라이브러리는 함수 단위, 자바는 클래스 단위)
- 패키지(클래스의 묶음)들이 계층 구조로 분류되어 있음
주석
- /* */ : 여러줄 주석
- // : 이후 내용을 주석
- /** */ : javadoc을 이용한 API문서 만들기
클래스의 정의
- public class는 파일에 최대 1개, 파일 이름은 '퍼블릭클래스 이름.java'
- main() 메소드 : public static void main(String[] args){ } (반드시 외워야함)
출력
- System.out.print() (print는 메소드 , System 클래스 안의 필드 out의 메소드를 사용하여 출력한다)
실행
- 프로그램 작성 : .java 확장자로 저장
- 컴파일 명령 : > javac 클래스이름.java
- 실행 명령 : java 클래스이름 -> 클래스 내의 main() 메소드 실행된다
객채지향 프로그래밍
클래스와 객체
추상화
- 구체적인 모든 사실이 아니라 전형적이고 필요한 부분만으로 사물을 이해하고 표현하는 것
클래스
- 클래스는 객체를 만들기위한 모형(틀)
- 공통적인 특징을 가지는 객체들을 추상화하기 위한 수단
- 객체의 상태는 필드(데이터)로 , 행위는 메소드로 구현됨
- 객체는 특성 클래스의 인스턴스
- car 클래스 -> 모든 자동차
- car 객체 -> 특정 자동차
- 인스턴스 -> 클래스가 실체화된 것
Java프로그램
- 클래스가 프로그램 구성의 기본 단위
- 데이터(필드)와 알고리즘(메소드)이 클래스에 캡슐화 되어있음
- 클래스 정의로부터 객체 생성, 객체 간의 상호작용으로 프로그램 동작
절차적 프로그램 -> 구성 기본 단위가 함수
객체 지향 프로그램 -> 구성 기본 단위가 클래스
객체지향은 DB의 정규화와 유사한 것 같음
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java) 인터페이스와 다형성 (0) | 2021.04.21 |
---|---|
Java) 4. 클래스와 상속 (0) | 2021.04.09 |
Java) 3. 기본 문법(2) - 배열과 문자열, 클래스 (0) | 2021.03.30 |
Java ) 2. 기본 문법(1) - 식별자와 자료형, 제어문 (0) | 2021.03.16 |
Java 설치 및 환경변수 설정 (0) | 2021.03.03 |
댓글