기술 용어정리

clare·2021년 4월 11일
0

JAVA

  • 네트워크 상에서 사용할 수 있도록 선 마이크로 시스템즈가 개발한 객체지향 프로그래밍 언어
  • JVM(자바가상머신)만 설치하면 OS 상관없이 작동한다. (운영체제에 독립적)
  • 기본 자료형을 제외한 모든 요소들이 객체로 표현
  • 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어
  • Garbage Collector로 자동으로 메모리 관리 가능
  • 멀티 쓰레드 지원

객체 지향 프로그래밍 : OOP

  • Object Oriented Programming
  • 데이터를 객체로 취급하여 프로그램에 반영한 것, 순차적으로 프로그램이 동작하는 기존의 것들(절차지향)과는 다르게 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다.

OOP의 특징

  • 코드의 재사용성이 높다
  • 코드의 변경이 용이하다
  • 직관적인 코드 분석
  • 개발속도 향상
  • 상속을 통한 장점 극대화

캡슐화

  • Encapsulation
  • 연관있는 변수와 함수를 클래스로 묶고, 실제 구현 내용을 외부에 감추는 것(은닉성)
  • OOP언어에서의 접근지정자 : public, protected, private
  • javascript에서는 기본 public
    private, protected에 _붙여 선언하여 외부에서 언더바를 붙힌 프로퍼티나 메서드에 접근하여 사용하지 말라는 암묵적인 약속

상속

  • Inheritance
  • 자식이 부모를 선택해서 물려받는다.
    하위 클래스가 상위 클래스의 필드/메소드를 물려받는 것
  • 부모 클래스를 재사용으로 중복코드 줄여주고, 유지보수의 편리성 제공
  • 객체의 다형성 구현 가능

다형성

  • Polymorphism
  • 하나의 객체를 여러 가지 타입을 가질 수 있는 것
  • 자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 구현
  • 인터페이스와 상속은 다형성이라는 OOP특징을 구현하는 방식
  • 부모 타입에는 모든 자식 객체가 대입, 인터페이스 타입에는 모든 구현 객체가 대입 가능

객체 : Object

  • 속성(멤버변수, 특성, 필드, 상태)와 기능(메서드, 행위, 함수)로 구성됨
  • 클래스에 정의한 대로 객체가 생성된다.

Class

  • 클래스 내에 멤버를 정의
  • 객체를 생성하는데 사용된다.

Interface

  • 메소드 선언만 가능. 내용 구현이 불가능
  • 자신을 구현하는 클래스들의 규격처럼 쓰임

Abstract Class

  • 미완성된 클래스
  • 메소드내용 구현 가능
  • 객체의 추상적인 상위 개념으로 공통된 개념을 표현할 때 사용
  • 추상 클래스 하위에 추상 메소드를 구현하여 하위 개념의 객체에 상속시켜 구현

오버로딩 : Overloading

  • 같은 이름의 메소드를 여러개 정의
  • 매개변수의 타입이 다르거나, 개수가 달라야한다.
  • return type과 접근제어자는 영향을 주지않는다.

오버라이딩 : Overriding

  • 상속에서 나온 개념
  • 부모클래스의 메소드를 자식클래스에서 재정의

GC

  • Garbage Collector
  • Jvm의 백그라운드에서 데몬 스레드로 실행되며 접근 불가능한 상태가 된 객체들의 메모리를 해제시킨다

Thread

  • 프로세스 내에서 실행되는 흐름의 단위
  • 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다.(멀티스레드)

Servlet

  • Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것

JSP

  • Java Server Page
  • html 기반에 Java코드를 블록화하여 삽입한 것

JDBC

  • Java Data Base Connection
  • Java언어를 통해 데이터 베이스에 접근할 수 있는 프로그래밍

API

  • Application Programming Interface
  • 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트
  • 정보 제공자와 정보 사용자 간의 계약으로 지칭되며, 소비자에게 필요한 콘텐츠(호출)와
    생상자에게 필요한 콘텐츠(응답)을 구성한다.

RESTful API

Get 방식

  • 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 key, value 값이 결합된 스트링 형태로 전달
  • 주소창에 쿼리 스트링이 그대로 보이기때문에 보안성이 떨어진다.
  • 길이에 제한이 있다. 전송 데이터의 한계가 있다.
  • post방식보다 속도가 빠른다.
  • 웹 브라우저가 웹 서버에 데이터를 요청할 때 주로 사용

Post 방식

  • 일정 크기 이상의 데이터를 보내야할 때 사용
  • 주소창에 데이터 정보가 노출되지않아 보안성이 높다
  • get방식보다 속도가 느리다
  • 쿼리스트링 데이터 뿐만 아니라 라디오버튼, 텍스트박스 같은 객체들의 값도 전송 가능
  • 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용

Session

  • 특정 웹 사이트에서 사용자가 머무르는 기간
  • 또는 1명의 사용자의 1번의 방문을 의미
  • 세션 관련 데이터는 서버에 저장
  • 웹 브라우저의 캐시에 저장되어 브라우저가 닫히거나 서버에서 삭제시 사라진다
  • Cookie에 비해 보안성이 높다
  • 모든 정보를 Session에 저장할 경우, Server의 메모리를 과도하게 사용하게 되어 서버에 무리가 간다.

Cookie

  • 사용자 정보를 유지할 수 없다는 Http의 한계를 극복할 수 있는 방법
  • 인터넷 웹 사이트의 방문 기록을 남겨 사용자와 웹사이트 사이를 매개해 주는 정보
  • Client PC에 저장되는 정보
  • 다른 사용자에 의해 임의로 변경 가능. 정보 유출의 위험

참고
https://itprogramming119.tistory.com/entry/%EB%A9%B4%EC%A0%91-01-JAVA-JSP-%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%98%88%EC%83%81-%EC%A7%88%EB%AC%B8
https://webclub.tistory.com/156
https://ko.wikipedia.org/wiki/%EC%8A%A4%EB%A0%88%EB%93%9C_(%EC%BB%B4%ED%93%A8%ED%8C%85)

0개의 댓글