본문 바로가기

Jave & Kotlin27

Java - 간단한 게시판 구현을 통한 직렬화(Serialization) 이해하기(2) - 게시판 구현 및 직렬화 역직렬화 테스트 들어가며 이번 시간에는 게시판 구현을 통해 직렬화와 역직렬화 테스트를 진행한다. (1)글 링크 https://sjparkk-dev1og.tistory.com/124 Java - 간단한 게시판 구현을 통한 직렬화(Serialization) 이해하기(1) - 클래스 생성과 serialVersionUID 개 들어가며 직렬화에 대한 개념을 정리해보았으니 이번에는 코드 구현을 통해 직렬화에 대해서 좀 더 이해력을 높이고자 한다. 간단한 게시판을 구현해본다. 더불어 개념 설명시 빠져있던 serialVer sjparkk-dev1og.tistory.com 게시판 만들기 해당 예제의 순서는 List 타입의 직렬화된 데이터가 있다면 역직렬화를 통해서 읽어오고 없다면 새로운 입력을 받아 직렬화를 통해 데이터를 저장하고 저장.. 2021. 12. 24.
Java - 간단한 게시판 구현을 통한 직렬화(Serialization) 이해하기(1) - 클래스 생성과 serialVersionUID 개념 및 설정방법 들어가며 직렬화에 대한 개념을 정리해보았으니 이번에는 코드 구현을 통해 직렬화에 대해서 좀 더 이해력을 높이고자 한다. 간단한 게시판을 구현해본다. 더불어 개념 설명시 빠져있던 serialVersionUID에 대해서도 같이 정리한다. 기본 개념 링크 https://sjparkk-dev1og.tistory.com/123 Java - 직렬화(Serialization)란? (implement serializable) 들어가며 보통 도메인 객체에 Serializable 인터페이스를 구현한 것을 볼 수 있다. 직렬화라는 것이 자바 시스템 내부에서 사용되는 객체나 데이터들을 외부의 자바 시스템에서도 사용하기 위해 바 sjparkk-dev1og.tistory.com 클래스 생성 먼저 직렬화 시킬 객체의 클래스를 작성.. 2021. 12. 23.
Java - 직렬화(Serialization)란? (implement serializable) 들어가며 보통 도메인 객체에 Serializable 인터페이스를 구현한 것을 볼 수 있다. 직렬화라는 것이 자바 시스템 내부에서 사용되는 객체나 데이터들을 외부의 자바 시스템에서도 사용하기 위해 바이트 형태로 변환하는 기술이고 자바에서 직렬화를 사용하기 위해서는 Serializable 인터페이스를 구현한다 정도로만 알고 있었는데 직렬화에 찾다보니 내용이 생각보다 방대해서 이번 기회에 직렬화에 대한 이론적인 부분과 사용법에 대해서 정리해보려고 한다. 자바 직렬화란? 자바 시스템 내부에서 사용되는 객체 또는 데이터들을 외부의 자바 시스템에서도 사용할 수 있도록 바이트형태로 데이터를 변환하는 기술이다. (바이트 데이터 -> 객체로 변환하는 역변환의 과정을 역직렬화라고 함) 자바에서는 기본 타입과 java.io.. 2021. 12. 22.
Kotlin - 기본 문법 정리 들어가기 앞서 코틀린이은 2017년도에 안드로이드 공식 언어로 채택된 언어이다. JVM 기반 언어이며 자바와 유사하지만 더 간결한 문법과 다양한 기능을 제공해준다. 현재 주 언어는 자바를 사용하지만 시간이 날때마다 틈틈히 새로운 기술을 익혀보고자 인프런에 코틀린 기본 강의를 듣고 기본 문법을 정리한다. 그리고 자바와는 어떤 차이가 있는지도 더불어 정리한다. 코틀린 기본문법 패키지 정의 - 패키지 정의는 파일 최상단에 위치함(자바와 동일) - 자바와 다른점은 디렉터리와 패키지를 꼭 일치시키지 않아도 된다. 임포트 - 자바와 똑같음 함수 정의(자바와 많이 다름) - 함수는 fun 키워드로 정의함 - 제일 마지막에 리턴 타입이 나오고 생략도 가능한 경우도 있다. - 식으로 표현된 경우는 return을 생략 가.. 2021. 12. 21.
JAVA - final, static, final static 키워드 상황별 정리 들어가기 앞서 처음 자바를 접했을 때 final 때문에 엄청 헷갈렸던 경험이 있다. final 키워드가 한 곳에만 사용할 수 있는게 아니고 변수, 메서드, 클래스 등에 사용이 가능했기 때문이다. 이번 기회를 통해 final 키워드에 모든 경우들을 정리하고 final과 같이 자주 쓰이는 static 키워드에 대해서도 같이 정리한다. final 먼저 final 키워드에 정확한 의미는 오로지 한번 할당될 수 있음을 의미한다. 어디에 final 키워드를 붙이냐에 따라 의미가 달라지겠지만 근본적인 final로서의 의미는 변하지 않는다. final != 상수 final 키워드는 프로그래밍 언어에서 constant, 상수와 같은 단어와 비교되어 사용된다. 하지만 위에서 final의 정의를 보았듯이 final == 상.. 2021. 12. 17.
JAVA - Interface 관련 정리 및 JAVA 8에서의 Default, Static 들어가기 앞서 정확한 개념의 이해는 아주 중요하다고 느끼는 요즘 헷갈렸던 부분(default 관련)들이 있어 이번 기회를 통해 인터페이스에 관한 내용들을 정리하려고 한다. 인터페이스란? 자바의 객체 지향 프로그래밍의 장점인 다형성을 구현하는 방법 중 하나이다. 인터페이스는 추상 클래스보다 추상화 정도가 높아 추상 클래스와는 달리 몸통(바디)을 갖춘 일반 메서드와 멤버 변수를 가질 수 없다. 기능을 명시적으로 선언하는 역할로 추상 메서드와 상수로만 이루어져 있다. 컴파일 과정에서 인터페이스의 변수는 상수(public static final)로 메서드는 추상 메서드(public abstract)로 변환된다. 비유적으로 추상클래스는 부분적으로 완성된 미완성 설계도이고 인터페이스는 밑그림만 그려져 있는 기본 설.. 2021. 12. 15.