본문 바로가기

반응형

전체 글

(63)
클래스와 인스턴스의 차이? static 의 특징, new를 왜 써야 클래스 변수에 붙게 되는 static에 대해 조금 더 언급하고자 합니다. 사실 저도 static이라고 하면 클래스 변수와 인스턴스 변수를 구분하는 용도? 정도로만 알고 있었는데 메모리라는 측면에서 큰 차이가 있다는 것을 알게 되었습니다. 그중 static 이 들어간 클래스의 메서드와 변수의 경우 new 명령어를 쓰지 않고 바로 클래스명.변수 또는 클래스명.매서드를 쓸 수 있다는 것은 다 알고 있을 것입니다. 반대로 static 이 들어가지 않은 클래스의 메서드나 변수의 경우 반드시 new를 통해 객체를 생성한 후 해당 클래스의 변수나 메서드를 쓸 수 있었습니다. 이 클래스는 클래스 변수 a, b와 인스턴스 c, d를 가지고 있고 complie 시 클래스 변수 a 값이 5가 되고 다시 ++a를 통해 6이 ..
RSTP 구성해보기 기본 topology 입니다. RSTP 구성에는 GNS3 를 사용했으며 스위치는 IOU를 썼습니다. 이제 SW1 ~ 4 까지 구성해 보겠습니다. SW1 int ran e0/0 - 3 , e0/0 - 3 , e1/0 - 3 , e2/0 - 3 , e3/0 - 3 shutdown int ran e1/1 - 3 no shutdown spanning-tree mode rapid-pvst (RSTP 모드 설정) spanning-tree vlan 1 priority 0 (루트 브릿지로 만들기 위해 priority 값을 낮춤) int e1/1 spanning-tree portfast (PC, 서버, 라우터와 같은 end-deivce 에 설정, 연결된 장비가 Listening, Learning 을 거치지 않고 바로 F..
RSTP Rapid Spanning Tree Protocol 기존의 STP 의 가장 큰 단점은 low convergence 낮은 응집력?입니다. 스위치가 loop를 감지하기 위해 Block 상태에서 Forward 상태로 전환되기 위해서 30~50초의 시간이 소모되기 때문입니다. 반면에 RSTP 의 경우 1초내로 Forward 상태로 바뀔수 있습니다. RSTP 에는 alternative 와 back up 이라는 STP 에는 없는 새로운 포트가 존재합니다. 이 포트들은 수동적으로 네트워크 응집을 기다리기 보다는 최대한 빠르게 포워딩 상태로 바뀔수 있게 해줍니다. RSTP 의 5가지 포트에 대해 소개하겠습니다. Root port – 루트 브릿지에 가장 빨리 도착할수 있는 포워딩 포트. Designated port – 루트 브릿지에서 가장 가까운 포트. Alternate..
InterVlan Routing, Router-on-a stick 가상 근거리 망인 VLAN의 경우 3 계층 장비인 라우터 없이 단일 2 계층 브로드캐스트 도메인을 형성할 수 있게 만들어 줍니다. 하지만 이렇게 형성된 각 VLAN 들은 라우터 없이는 다른 VLAN들과 통신을 할 수 없습니다. 1.1.1.1에서 1.1.1.2로는 ping 이 가지만 1.1.2.1로는 ping 이 가지 않습니다. 이 문제를 해결하기 위해 2가지 방법이 있습니다. 하나는 스위치에 vlan 별로 독립적인 경로를 설정하는 방법입니다. 스위치에 vlan 10 경로와 vlan 20 경로를 따로 라우터에 연결하는 방법입니다. 하지만 이 방법에는 한가지 단점이 있습니다. vlan 별 물리적 회선이 추가되어야 한다는 점입니다. 라우터에 너무 많은 물리적 인터페이스가 추가된다면 장비가 제 성능을 발휘하기 ..
자바 클래스? 객체지향? 자바를 늘 객체지향 언어라고 말합니다. 그리고 클래스를 설계도 클래스를 통해 만들어진 객체를 제품이라고 언급합니다. 붕어빵 틀이 어쩌니 붕어빵이니 이러니 저러니 라고 하지만 솔직히 자바를 많이 공부한 입장에서는 다 맞는 말이고 쉽게 이해가 되지만 자바를 배우는 입장에서는 쉽게 이해가 가지 않습니다. 클래스를 일반적으로 아래와 같이 정의합니다. - 객체를 정의해 놓은 것 - 객체를 생성할 때 사용 - 데이터 타입 그리고 객체는 - 클래스를 구체화한 것 - 실제로 동작하는 것 - 메모리에 생성된 데이터 그리고 클래스를 구체화, 객체화한 것이 객체, 인스턴스라고 정의합니다. 여전히 무슨 말인지 모르겠습니다. 위와 같이 배열을 많이 봤을것입니다. 자바에서 배열을 선언하는 방법입니다. 사실 이렇게 new는 위에서..
자바 클래스 초기화 블럭 이전 글에서는 클래스 변수와 인스턴스 변수가 어떻게 선언되는지에 대해 알아봤습니다. 이번 글에서는 또다른 초기화 방식인 초기화 블럭에 대해 알아보려 합니다. 초기화 블럭은 문자 그대로 { }으로 구성됩니다. { } 안에 조금 더 긴 문장을 넣을수 있습니다. 명시적 초기화 역시 static을 붙인 클래스 변수와 아무것도 붙지 않은 인스턴스 변수가 있습니다. 이렇게 for문이나 if 문등의 긴 코드를 통해 초기화가 필요한 경우를 위해 사용됩니다. 클래스 변수의 초기화에도 순서가 있습니다. 기본 초기화가 1번 명시적 초기화(참조형 변수의 선언) 예를 들어 우리가 보고 있는 클래스 variable_lecture 의 객체를 만들기 위한 variable_lecture vl = new variable_lecture(..
자바 변수의 초기화, 초기화 블럭 이번 글에서는 자바의 변수들이 어떻게 초기화되는지 그리고 각 변수들(인스턴스 변수, 클래스 변수, 지역 변수)들의 초기화 순서에 대해 알아보겠습니다. 인스턴스 변수와 클래스 변수는 변수의 선언이 없을 경우 디폴트 값으로 지정되어 있습니다. 변수 a, b, c, d, e, f, g를 출력하면 이렇게 값을 초기화하지 않아도 인스턴스와 클래스 변수는 타입에 따라 디폴트 값으로 정해지게 됩니다. 그렇다면 초기화의 순서는 어떻게 될까요? 위에서 아래로 차례대로 a, b, c, d ~ h 순서로 될까요? 위의 코드의 a,b,c 의 값이 어떻게 될까요? 음... a는 초기화가 선언되지 않았으니 디폴트 값 0일 테고 b는 a에서 1 올린 값과 같아지니 b = 1 가 될 테고 c값은 1인 a를 다시 1 올린 값과 같아지..
OSI 7계층 네트워크를 공부하면서 가장 기본적인 내용이자 늘 헷갈리는 그것 OSI 7 계층에 대해 좀 더 쉽게 알아보도록 하겠습니다. 위키피디아를 보게 되면 설명이 나와있지만 정말 이해가 안 되는 설명이 아닐까라 생각합니다. 위키피디아에 나오는 설명을 바탕으로 조금 더 쉽게 이해하고자 합니다. 이메일을 송신하고 수신하는 과정을 예를 들어 설명해 보겠습니다. 송신자 A는 크롬을 켜 구글의 본인 계정으로 접속해 수신자 B에게 몇백자의 메시지가 포함된 약 500byte 크기의 메일을 전송했습니다. 이 데이터는 7 계층 이서 1 계층으로 각 단계를 거쳐 수신자에게 전송되며 다시 1 계층에서 7 계층의 단계를 거쳐 최종적으로 수신자는 이메일을 확인할 수 있게 됩니다. 이 과정을 위키피디아의 내용을 토대로 살펴 보겠습니다. 계..

반응형