티스토리 뷰

java

[Java] 언어의 기원

tonirr 2021. 3. 14. 16:12
  • Java 언어의 기원
    • Sun Microsystems의 제임스 고슬링
    • 1990년 그린 프로젝트와 Oak 언어
    • 1995년 Java와 HotJava 발표
      • 웹의 확산과 함께 주목을 받음
    • 1996년 1월 JDK1.0발표
      • 1998년 Java2 SDK, SE 1.2(J2SE 1.2부터 Java2라고 함)
      • 2014년 Java Paltform(JDK) SE 8
      • 2020년 9월 Java SE 15
    • 2009년 Oracle이 Sun을 인수함
  • Java 언어의 특징
    • C/C++(하이브리드 언어) 언어와 유사하나 단순함
    • 플랫폼에 독립적
    • 완전한 객체지향 언어
    • 웹 또는 네트워크 프로그래밍이 용이
    • 엄격한 자료형의 검사
      • 컴파일하면서 변수의 자료형을 엄격하게 검사함
    • 예외 처리 기능제공
      • 오류가 발생이 예상되는 경우 예외처리를 해줄 수 있음
      • 예외처리 코드에서 발생된 예외를 처리해서 프로그램이 비정상적으로 종료되지 않게함
    • 멀티 스레딩 지원
      • C/C++은 하나의 스레드만 사용하는 반면 Java는 멀티 스레딩이 가능함
  • Java 프로그램의 실행
    • 자바소스파일(HelloWorld.java) --> Complier --> 자바 바이트코드(HelloWorld.class) --> Java VM --> HelloWorld 실행  
    • Java 소스 프로그램의 확장자는 .java
    • 바이트 코드
      • Java 소스를 컴파일한 결과물
      • 확장자는 .class이며 클래스 파일이라고도 함
      • 자바 플랫폼의 Java VM에서 실행 가능한 코드
        • 어떠한 운영체제이든 자바 플랫폼이 있다면 실행 가능함
      • write once, run anywhere
  • 애플리케이션과 애플릿
    • 애플리케이션
      • Java 플랫폼에서 실행되는 프로그램
      • 실행을 위해 main()함수가 필요함
    • 애플릿
      • HTML 웹페이지에 포함되어 웹 브라우저를 통해 실행(최근에는 잘 쓰이지 않고 있음)
<APPLET CODE="HelloApplet.class" width=200 height=100></APPLET>

 

  • Java 플랫폼
    • 플랫폼(platform)
      • 프로그램의 실행을 위한 하드웨어와 소프트웨어 환경
      • Java플랫폼은 Java 프로그램의 개발과 실행을 위한 환경
      • 운영체제에 맞는 Java 플랫폼을 설치해야 함
    • Java 플랫폼의 구성
      • Java API + Java VM = Java platform 
      • Java VM
        • Java 프로그램의 실행환경을 제공하는 가상기계
        • Java 프로그램의 구동 엔진
        • 실행에 필요항 사항을 관리
        • 메모리 정리를 자동으로 수행
      • Java API(Application Programming Interface)
        • 프로그램의 개발에 필요한 클래스 라이브러리
        • 패키지(클래스 묶음)들이 계층 구조로 분류되어 있음
    • JDK의 설치(Java platform)
      • Java 홈페이지에서 다운로드 받아 설치
        • JavaSE Development Kit(JDK) 15를 설치
          • JavaSE(Java Standard Edition): 표준판
          • JavaEE(Java Enterprise Edition): 기업용
      • 환경변수 PATH를 수정
      • 환경변수 JAVA_HOME을 생성
    • Eclipse의 설치
      • Eclipse IDE for Java Developers
        • 압축파일을 다운받음
      • 적당한 곳에 압축파일을 풀면 설치됨
  • 간단한 Java 애플리케이션
    • Hello 애플리케이션
      • 대소문자 구분
      • 주석, public class, main() 메소드, 출력문
  • Java 프로그램 살펴보기(1)
    • 주석 
      • /* ... */ : 사이의 내용을 무시함
      • /** ... */ : javadoc을 이용한 API 문서 만들기
      • // ... : 이후 내용을 무시
    • 클래스의 정의
      • public class Hello { ... } : public class는 파일에 최대 1개 파일 이름은 '퍼블랙클래스의이름.java'
      • main() { ... } : main() 메소드의 형식은 public static void main(String[] args) {}
  • Java 프로그램 살펴보기(2)
    • 출력
      • System.out : 표준출력을 담당하는 객체, print() 또는 println()을 수행함
    • 실행
      • 프로그램 작성: Hello.java로 저장함
      • 컴파일 명령: > javac Hello.java '클래스이름.class'가 만들어짐
        • 클래스마다 하나씩 만들어짐
        • 소스파일에 A, B, C class가 있다면 세개의 클래스가 만들어짐
      • 실행 명령: > .java
  • 클래스와 객체
    • 추상화
      • 구체적인 모든 사실이 아니라 전형적이고 필요한 부분만을 발췌하여 사물을 이해하고 표현하는 것
    • 클래스
      • 클래스는 객체를 만들기 위한 모형 또는 틀
      • 공통적인 특징을 가지는 객체들을 추상화하기 위한 수단
      • 객체의 상태는 필드(데이터)로 행위는 메소드로 구현됨
      • 객체는 특정 클래스의 인스턴스
        • 인스턴스: 클래스가 실체화 된 것
  • Java 프로그램
    • 클래스가 프로그램 구성의 기본단위
    • 데이터(필드)와 알고리즘(메소드)이 클래스에 캡슐화되어 있음
    • 클래스 정의로부터 객체들이 만들어지고 객체들 간의 상호작용으로 프로그램이 동작함
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함