Java 개요

LIM JAEHO·2022년 6월 28일
0

Java 학습

목록 보기
2/19

들어가기에 앞서

코딩테스트를 위해서

  • 프로그래밍 언어 사용 숙련도
  • 자료구조, 알고리즘 개념과 구현 방법 숙지
  • 다양한 문제에 실제로 적용해보기

코딩테스트 유형

  • 정렬 : 정렬 문제가 단독으로 잘 나오진 않고, 문제 풀이를 위해 데이터 정렬이 필요할 때가 있다.
  • 탐색 : 1, 2, 3차원 데이터에서 특정 값을 찾는 유형
  • 부분 문제의 합 : 작은 문제의 반복적 해결 구조를 갖는 유형
  • 최적 선택 : 최적의 해가 아니라 근사치를 얻어 정확한 답을 얻어내지 못할 수 있으니 주의
  • 기타 시뮬레이션 : 조건과 요구사항을 잘 읽고 문제를 해결, 특정 알고리즘으로 매핑되지 않을 수 있다.

학습 환경 구성하기

  • IDE 학습용으로 Intellij 무료 버전 설치
  • 사용할 JDK (Java Development Kit) 설정해주기

JAVA

Java 의 역사

썬 마이크로 시스템즈 라는 회사에서 1990년 초 양방향 TV 를 만드는 제어박스의 개발 프로젝트인 Green Project 를 진행하기 위해 객체지향 언어로 C++ 언어를 사용했다.

C++ 언어의 부족으로 오크(Oak) 라는 언어를 직접 개발한 것이 Java 가 탄생한 계기이다.
James Gosling 이라는 개발자가 개발했으며, 1993년 인터넷과 웹이 엄청난 속도로 발전하던 시기에 마침 Java 는 인터넷 개발에 적합한 언어였다.

Java 는 꾸준히 발전해 현재는 여러 분야에 다양하게 사용되고 있다.
2009년 썬 마이크로 시스템즈 는 오라클에 합병되었다.

Java 소개

Java 의 특징

  • 단순하다
    포인터가 없어서 메모리 관리가 용이하다.
  • 객체지향
    클래스와 객체를 중심으로 프로그램을 개발한다. 구역을 나눠 구역별로 재사용해 생산성을 높이고, 구역별로 제한을 할 수 있어 보안성을 높일 수 있다 정도로 알고 넘어가자.
  • 플랫폼 독립적
    JVM (Java Virtual Machine) 이라는 소프트웨어를 통해 운영체제에 따라 코드를 재작성할 필요가 없다. 한 번 작성된 코드는 어떤 운영체제에서든 동작가능하다.

Java 참고사항

  • Java 8 부터는 LTS (Long Term Service)
  • Java 8 까지는 32bit
  • Java 9 부터는 64bit

Java 프로그램 실행 과정

Java Source Code (Program.java) -> Java Compiler
-> Byte Code (Program.class) -> JVM (Window or Linux) -> 실행

Java 의 활용

  • 웹 어플리케이션
  • 모바일 어플리케이션
  • 엔터프라이즈 어플리케이션
  • 웹/앱 서버
  • 임베디드 시스템

Java 플랫폼

  • Java SE (Standard Edition) : 기본 개발 환경
  • Java EE (Enterprise Edition) : 서버 기반 프로그램 개발 환경
  • Java ME (Micro Edition) : 모바일 및 임베디드 시스템 개발 환경

Java 파일 확장자

컴퓨터는 기본적으로 텍스트 파일과 바이너리 파일로 나뉜다.

  • *.Java : 자바 소스파일로 텍스트 파일이다.
  • *.class : 자바 실행파일로 바이트 코드로 이뤄진 파일이다.

아래와 같은 파일 확장자도 있다.

  • *.jar
    자바 아카이브로 자바 클래스 파일과 클래스에서 이용하는 리소스 파일 및 메타 데이터를 포함해
    배포 및 실행 목적으로 하나의 파일로 패키징해놓은 포맷
  • *.war
    웹 아카이브로 웹과 관련된 서블릿 클래스파일, JSP 파일 및 리소스파일을 포함하는 패키징 파일
  • *.ear
    엔터프라이즈 아카이브로 jar 파일과 war 파일을 패키징해 Application Server 에 배포하기 위한 파일

0개의 댓글