1 분 소요


불변 객체

  • 불변 객체는 객체 생성 이후 내부의 상태가 변하지 않는 객체를 말한다.
  • Java에서는 필드가 원시 타입인 경우 final 키워드를 사용해 불변 객체를 만들 수 있다.

사용 이유

  • Thread-Safe하여 병렬 프로그래밍에 유용하며, 동기화를 고려하지 않아도 된다.
    • 공유 자원이 불변이기 때문에 항상 동일한 값을 반환하기 때문
  • 예외가 발생해도 메소드 호출 전의 상태를 유지할 수 있다.
  • 부수효과를 피해 오류를 최소화 할 수 있다.
  • 메소드 호출 시 파라미터 값이 변하지 않는다는 것을 보장할 수 있다.


전자 정부 프레임워크

전자 정부 프레임워크는 정부 및 공공기관, 공기업 등의 웹 사이트에 자주 쓰이는 공통 기능들을 Spring 프레임워크와 Java의 라이브러리(iBatis/MyBatis, Jackson, Apache Commons 등)를 가지고 미리 만들어 놓은 공통 컴포넌트와 이를 개발하는 개발환경, 실행환경, 운영환경, 관리환경 등으로 구성되어 있다.

사용 이유

전자 정부 프레임워크를 주로 사용하는 발주처가 정부기관이며 이러한 프로젝트를 수주하는 사업에는 필수 요구사항이 있다.
주로 수주할 때 발주처에서 필요한 하드웨어는 어떤 것을 사용하며 소프트웨어는 어떤걸 쓰겠다는 것이 다 기술되어 있다.
만약 개인 또는 개발사에서 플러그인을 편한대로 사용하면 웹 사이트에는 어떤 코드가 들어 있는지 알 수 없어 신뢰할 수 없는 코드가 된다.
그렇기에 전자 정부 프레임워크 처럼 개인이나 단체가 한 가지 형태로 통합하여 사용하게 되면 신뢰성 있는 즉, 검증된 코드가 되는 것이다.
또한, 특정 개발사에 종속되지 않고, 여러 곳의 개발사에 조건에 따라 발주가 가능하며, 개발 했던 개발사가 유지 보수를 하지 않더라도 다른 개발사에서 이어 받아서 유지보수가 가능하게 된다.

단점

개발 과정을 표준화하기 위한 의도에서 시작되었으나, 그러한 의도로 인해 구조가 경직되고 최신 기술을 반영하지 못하는 보수적인 기술이라는 것이 문제점으로 작용하고 있다.


JSON

JavaScript Object Notation(JSON)은 JavaScript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 데이터 포맷.
주로 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용한다.

  • JavaScript의 문법과 유사하지만 텍스트 형식일 뿐이다.
  • 특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링 할 수 있는 라이브러리를 제공한다.
  • JSON 표현식은 사람과 기계 모두 이해하기 쉬우며, 용량이 작아서 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다.

댓글남기기