본문 바로가기

Java 강의34

자바 동적 바인딩 / 자바 다형성 안녕하세요 이번 글에서는 자바 동적 바인딩과 다형성에 대해서 알아보도록 하겠습니다. 1 2 3 4 5 public class BookStore { public void superprint() { System.out.println("가져다 쓰세요"); } } Colored by Color Scripter cs 1 2 3 4 5 6 7 8 public class Web extends BookStore{ @Override //가져다 쓰자 public void superprint() { System.out.println("web이다"); // TODO Auto-generated method stub } } Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 13 .. 2017. 10. 13.
자바 스레드 / java thread 안녕하세요 이번 글에서는 자바 스레드에 대해서 알아보도록 하겠습니다. 스레드를 사용해야 하는 이유 멀티 프로세스는 데이터 공유가 어렵다 멀티 프로세스 각 프로세스가 별도의 메모리 공간을 할당 받기 때문에 각각의 프로세스들 사이에서 데이터를 어떻게 주고 받을지가 문제 멀티 스레드 각각의 스레드들이 하나의 프로세스 안에서 공통된 메모리 공간을 사용하기 때문에 레이스 컨디션이 문제가 된다 레이스 컨디션(Race Condition) 멀티 스레드 프로그래밍에서 발생하는 문제로 여러 스레드가 다수의 리소스를 경쟁적으로 업데이트 하면 예측 불가능한 데이터 문제가 발생하는 것을 말한다 레이스 컨디션의 예시는 글의 중간 부분에 적었습니다 Thread ( 스레드 )를 사용한 예 웹 브라우저에서 웹페이지를 보면서 동시에 파.. 2017. 10. 12.
자바 소켓 프로그래밍 / 자바 네트워크 프로그래밍 네트워크의 개요 네트워크는 여러 대의 컴퓨터를 통신회선으로 연결한 것을 말합니다. 만약 여러분의 집에 방마다 컴퓨터가 있고, 이 컴퓨터들을 유선,무선 등의 통신 회선으로 연결했다면 홈네트워크(home network)가 형성된 것입니다. 지역 네트워크는 회사, 건물, 특정 영역에 존재하는 컴퓨터를 통신 회선으로 연결한 것을 말합니다. 인터넷(internet)은 지역 네트워크를 통신 회선으로 연결한 것을 말합니다. 출처 : [책] 이것이 자바다 1052p - 신용권 지음 기본적인 네트워크의 개요는 이렇습니다. 그리고 네트워크는 서버와 클라이언트로 구성되어 있습니다. 그림으로 보겠습니다. 네트워크는 그림처럼 연결이나 처리를 요청하는 클라이언트와 요청에 응답해서 결과를 보내는 서버로 구성되어 있습니다. 클라이언.. 2017. 10. 12.
자바 생성자 안녕하세요 이번 글에서는 자바 생성자에 대해서 알아보도록 하겠습니다. 생성자의 구조는 다음과 같습니다. 사용자 정의 생성자의 사용 예시는 다음과 같습니다. 코드로 생성자를 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 /* 생성자 객체가 생성될때 필드에게 초기값을 제공하고 필요한 초기절차를 실행하는 메소드 형식 접근제한자 클래스명(매개변수타입 매개변수이름){ 초기설정 코드들; } */ class Car{ private String color; private int speed; private int mileage; public Car() {//생성자 1 .. 2017. 10. 11.
자바 Cloneable 사용방법 / 자바 디자인 패턴 - 프로토 타입 패턴 / java design pattern , prototype pattern 안녕하세요 이번 글에서는 Cloneable의 사용방법과 프로토 타입 패턴에 대해서 알아보도록 하겠습니다 먼저 Cloneable의 사용방법과 배경에 대해서 알아보겠습니다 ●Cloneable의 배경 여기 다음과 같은 소스코드가 있습니다 프로그래머는 객체의 주소가 아닌 값들만 복사하고 싶은 상황을 가정해보겠습니다 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package BackGroundCloneable; public class Background { public static void main(String[] args) { ClassForCopy c1 = new ClassForCopy(0, null, 0, false, 0, 0, 0, 0.. 2017. 9. 29.