IT/Java 23

Serialize란 무엇인가?

코드를 쓰다 옆사람이 serialize가 뭔데 썼냐는 말에 저는 그냥 남들이 사용하길래 적었다. 라는 말도안되는 대답을 했습니다. serialize가 무엇이고 왜 사용하는지 궁금하여 기록한 내용입니다. Serialize(직렬화)가 무엇인가? 객체를 데이터스트림으로 만드는것이다. 즉 객체에 저장된 데이터를 스트림에 쓰기위해 연속적인 데이터를 변환하는것. 반대로 스트림으로부터 데이터를 읽어 객체를 만드는것은 역직렬화(Deserialization)입니다. 직렬화 사용이유는 객체 자체를 영속적으로 보관할때 사용하는데 파일형태로 저장되어 네트워크를 통해 전송이 가능합니다. 장점으로는 자바와 자바시스템간 개발이 최적화가 되어있어 다른 라이브러리나 추가적인 환경구성이 필요없고 또한 역직렬화 할 경우 기존 객체처럼 사..

IT/Java 2021.04.04

[JAVA] 동빈나님의 자바기초프로그래밍 강좌 완강

동빈나님의 자바 기초 프로그래밍 강좌입니다. www.youtube.com/watch?v=wjLwmWyItWI&list=PLRx0vPvlEmdBjfCADjCc41aD4G0bmdl4R 1강 관련링크 학원 마치고 생활코딩 강의를 듣다 너무 많아 짧게 들을 수 있는 강의가 없을까 해서 유튜브에서 검색해 찾아보았습니다. 강의수가 적어 점심시간 틈틈히 들어 완강했습니다. 프로그래밍 기본도 모르는 쌩판 초보자가 듣기에 좋고 자바에 대한 기초를 다지기에 좋은 강의입니다. 동빈나님의 댓글 중 어느 순간 아 하고 전부 틀이 잡히는 날이 온다고 하시는데 빨리 왔으면 좋겠습니다.

IT/Java 2020.12.15

[JAVA] 게임 캐릭터 공격 프로젝트

객체 지향 기법을 활용한 게임 캐릭터 공격 만들기입니다. Hero class 생성 public class Hero { String name; public Hero(String name) { this.name = name; } public void attack() { System.out.println("주먹 지르기!"); } } Warrior class 생성 public class Warrior extends Hero { public Warrior(String name) { super(name); } public void groundCutting() { System.out.println("대지 가르기!"); } } Archer class 생성 public class Archer extends Hero { ..

IT/Java 2020.12.15

[JAVA] 다형성을 이용한 과일 정보 프로젝트 구현

다형성이란 기본적으로 다양한 형태의 성질을 가집니다. 다형성의 특징은 객체지향 프로그래밍 언어이며, 이것을 이용하여 객체를 사용할 때 사용하는 변수 형태를 바꾸어 여러타입의 객체를 참조할 수 있습니다. 결과적으로 이런 개념을 적절하게 이용할 때 프로그램의 소스코드를 유연하게 구성할 수 있습니다. 다형성은 부모클래스 타입의 참조 변수로 하위 클래스의 객체를 참조할 수 있게 해 줍니다. 자바 클래스 인스턴스 변수를 자신의 변수로 넣을 수 있는 것이 다향성의 기본 개념입니다. Fruit class 생성 public class Fruit { String name; int price; int fresh; public void show() { System.out.println("이름: " + name); Syste..

IT/Java 2020.12.14

[JAVA]인터페이스

인터페이스는 얼핏 보기에 추상 클래스와 매우 흡사한 개념 같지만 인터페이스는 숙련된 자바 개발자들에게 아주 선호되는 설계 기능이면서 자바에서 다중 상속을 구현하게 해주는 고급 기술입니다. 추상 클래스는 추상 메서드 외 멤버 변수나 일반 메소드를 가질 수 있지만 인터페이스에서는 반드시 사전에 정의된 추상 메소드와 상수만을 가질 수 있다는 특징이 있습니다. 인터페이스는 팀프로젝트의 동시 작업에 유리하고 일반적으로 추상보다 요구되는 설계의 기준이 높아서 더 체계적이라는 평을 받습니다.

IT/Java 2020.12.13

[JAVA]추상 개념을 이용한 음악 플레이어 구현하기

Player class를 만들어줍니다. abstract class Player { abstract void play(String songName); abstract void pause(); abstract void stop(); } Player를 상속받는 Main class를 만들어 줍니다. public class Main extends Player { public static void main(String[] args) { Main main = new Main(); main.play("Joakim Karud - Mighty Love"); main.pause(); main.stop(); } @Override void play(String songName) { System.out.println(songNa..

IT/Java 2020.12.13

[JAVA]상속클래스 이용하기

상속 클래스간의 상호작용 -하나의 사람을 의미하는 Person 클래스를 생성합니다. -Person을 상속받아 하나의 학생을 의미하는 Studuent 클래스를 의미합니다. -Student 클래스를 이용하여 객체를 생성합니다. Person class public class Person { private String name; private int age; private int height; private int weight; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) ..

IT/Java 2020.12.11

[JAVA] Node클래스를 이용한 두 점 사이의 중점을 구하는 프로그램

객체지향의 기본 Node class 객체 : 현실세계의 사물 클래스로 만들어서 하나의객체 단위로 만들어 인스턴스화를 합니다. 즉 현실세계의 사물이 그대로 프로그램안에 녹아들어가 있습니다. 이러한 형태를 객체지향 이라고 할수 있습니다. 실세계의 사물을 프로그래밍안에서 표현해서 어떠한 속성들을 클래스단위로 정의된 다양한 클래스들을 실제로 활용한다 -> 객체의 개념을 실제 프로그래밍에 접목했다 이것이 객체지향 프로그래밍 입니다. Node class를 생성합니다. public class Node { private int x; private int y; public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() ..

IT/Java 2020.12.11

[JAVA] 10 x 10 의 정수 랜덤 데이터를 구하는 프로그램

다차원 배열이란 2차원 이상의 배열을 말하며 배열이 배열의 원소로 들어가는 구조를 말합니다. 이차원 배열은 M X N 형태의 지도를 나타내고자 할때 많이 사용되고 다차원 배열을 적절하게 활용하게 되면 현실 세계의 다양한 문제에 보다 쉽게 접근할수 있습니다. 2500개의 데이터가 들어가는 2차원 데이터 배열 프로그램 입니다. public static void main(String[] args) { int N = 50; int[][] array = new int[N][N]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { array[i][j] = (int) (Math.random() * 10); } } for (int i = 0; i < N; i++..

IT/Java 2020.12.09