[프로그래밍]/[프로그래밍언어] JAVA

[프로그래밍언어] JAVA 1일차

bestFinanceDataAnalyist 2023. 6. 4. 23:50

JAVA 복습 1일차

자바의 역사

1991년 오크 전자 제품 >> 1995년 자바이름으로 재탄생 >> 2011년에 오라클에서 인수


환경 세팅

1) JDK(Java Development Kit) 설치가 필수임!! 무료로 제공하는 다양한 버전의 jdk가 있음

   ex) oracle JDK, OpenJdk, Azul Zulu            

 

2) IDE(Integrated Development Environment) - 통합개발환경 
   ex) 이클립스 -  eclipse.org    /    인텔리제이 - jetbrains.com

3) path 설정 : 컴파일 실행할 때 필요한 exe 파일을 어디서든 사용할 수 있도록 설정해야 함!!

 

 

자바는 어떤 언어를 사용할까??

1) Servlet 언어: java로 만들어 웹 브라우져에서 동작하는 언어 / html, css, javascript 모두 함께 사용 가능

컴파일하고 실행해야하는데 자바를 모르면 잘 모름.... 기획-개발팀간의 소통의 어려움이 있다

2) JSP 언어: Servlet 언어가 자바 중심의 코드라면 jsp는 html중심의 언어임! asp, php와 거의 유사한 언어 제공
l중심으로 코딩하고 자바코드가필요할때 <% java코드 작성 %> 사용해서 작성한다.
    : asp, php와 거의 유사한 언어를 제공!!!

 

 

자바의 특징

1) 운영체제의 독립적!! 

2) 객체지향 언어 (Object Oriented Programming)

  • 객체지향 프로그래밍
  • 기본의 만들었던 내용을 재사용할 수 있다는 장점이 있다.
  • 프로그램을 독립된 단위인 객체들의 모임으로 보고 각각 객체는 메시지를 주고 받고 데이터를 처리함.

- 추상화(Abstraction) : 핵심적인 코드만

>> 인터페이스와 구현을 분리함. A클래스가 B인터페이스 상속을 받을 때, 구현객체에 의존하지 않고 추상객체인 인터페이스에 의존하면서 구현 코드를 숨길 수 있음

- 다향성 (Polymorphsim) : 객체 변경 용이함

>> 오버로딩: 한 클래스에서 메소드 이름은 같으나 자료형을 다르게 하거 서로 다른 동작을 하게 함

>> 오버라이딩: 부모클래스 메서드를 자식 클래스에서 재정의하여 다시 사용하는 것

- 상속 (Inheritance) : 코드 재사용 중복 코드 줄이기

>> 자식 클래스가 부모클래스의 특징과 기능을 물려받는 것!  코드를 재사용함으로써 중복 코드를 줄일 수 있다. 

- 캡슐화 (Encapulattion) : 필드와 메서드 하나로 묶기

>> 클래스에서 속성을 묶어 캡슐화를 진행한다. 이때. 접근 제한자를 private로 두면 get, set으로만 접근이 가능하다

 

 

3)  다양한 API 제공
4)  GC(Garbage Collector) : 사용하지 않은 메모리 공간을 자동으로 제거, 개발자가 직접 메모리 관리 안함

         
 

꼭 알아야 할 자바문법

1) 클래스 이름 첫글자 : 대문자!!!!  < > 메소드. 변수이름 첫글자는 소문자!!!
2) 변수란? 데이터를 저장하는 공간으로, 한가지 타입으로만 저장 가능  ex) 데이터 타입 변수이름 = 값;  int a = 10;

3) 데이터타입 종류
     - primitive type = 기본형(8가지)
            정수형 : 크기에 따라  byte(1byte) -> short(2byte) -> int(4byte) -> long(8byte)
            실수형  : float(4byte) -> double(8byte)  
            문자형  : char(2byte)  
            논리형  : boolean - true, false 값만 가능한다.
 
     2) Object  type  = reference type = 참조타입
   
               int i; //정수형선언
               Hello h; // Hello 형 선언
               Cat t ;// Cat 타입 변수 선언