목록카테고리 (25)
Dev.Std

Uni, Broad, Multi, Any네트워크 캐스팅 방식에는 대표적으로 유니캐스트(Unicast), 브로드캐스트(Broadcast), 멀티캐스트(Multicast)가 있다.유니캐스트(Unicast)일대일 통신방식을 의미작동 방식유니캐스트 방식으로 프레임(수신지 MAC 주소 포함)을 전송모든 컴퓨터는 프레임을 전송받아 LAN 카드에서 본인의 MAC 주소와 비교자신의 MAC 주소와 동일하면 전송된 데이터 수신, 동일하지 않다면 버림CPU에 영향을 주지 않아 컴퓨터의 성능 보존 브로드캐스트(Broadcast)로컬 LAN에 있는 모든 네트워크 단말기에 데이터를 보내는 방식 (ARP가 바로 브로드캐스트 방식)작동 방식브로드캐스트 방식으로 모든 네트워크 단말기에 데이터를 수신LAN 카드는 자신의 MAC 주소와 ..

OSI 7 계층이란OSI(Open System Interconnection) 모델표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화 기구(ISO)에서 만든 개념 모델7개의 추상적인 계층 1계층 - 물리 계층 (Physical Layer)물리 계층에서는 단순히 네트워크 노드를 통해 전기적, 기계적 특성을 이용해서 통신 케이블로 데이터를 전송한다.통신 단위는 비트(Bit)이다. 대표적인 1계층 장비로는 허브(Hub)와 리피터(Repeater)가 있다. 2계층 - 데이터 링크 계층 (Data Link Layer) 데이터 링크 계층에서는 MAC 주소를 사용하여 데이터 프레임을 생성한다.물리 계층으로 데이터를 전송하는 과정에서 여러 외부 요인으로 인해 물리적인 오류가 발생할 수 있기에 오류..
상속(Inheritance)이란? 상속(Inheritance)은 코드 재사용성을 높이고 클래스 간의 계층 구조를 구성하는 데 사용되는 객체 지향 프로그래밍에서 중요한 개념 중 하나다. 상속을 통해 기존 클래스의 기능을 확장하거나 수정하지 않고 새로운 클래스를 생성할 수 있다. 부모 클래스에서 자식 클래스에서 상속이 되면, 자식 클래스는 부모 클래스의 모든 멤버를 상속받는다.public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName()..

접근 제어자(Access Modifier) 객체 지향에서 정보 은닉은 사용자가 굳이 알 필요 없는 정보는 사용자에게 숨겨야 한다는 개념이다. 자바에서는 이러한 정보 은닉을 위해 접근 제어자(Access Modifier)를 제공하고 있다. 자바에서는 다음과 같은 4가지의 접근 제어자를 제공한다.privatedefaultprotectedpublicprivate접근 제어자가 private로 설정되었다면 pivate이 붙은 변수나 메서드는 해당 클래스 내에서만 접근을 허용한다.package oop;public class Student { // private 접근 제어자로 선언된 변수 // 해당 클래스 내에서만 접근 가능하도록 제한 // 아래에서 public 메서드를 이용해서 private 변수..

값에 의한 호출 & 객체(참조)에 의한 호출 메서드의 매개 변수로 값을 전달하는 것과 객체를 전달하는 것에는 큰 차이가 있다. 아래는 학생의 나이를 1씩 증가하도록 업데이트 하는 예제이다.public class Updater { public void updatePrimitive(int value) { value++; // 원본 변수에 영향 x } public void updateObject(Student student) { student.age++; // Student 객체 age 변수를 증가시킴. }}public class Student { String name; int age; public Student(String name, int ag..

생성자가 필요한 이유 Student 클래스를 생성 후, Student 객체마다 이름을 저장할 수 있도록 name이라는 인스턴스 변수를 선언하고, setName, getName 메서드를 이용해서 이름을 지정 및 반환하도록 하였다.public class Student { // 이름을 저장하는 인스턴스 변수 private String name; // 이름 설정 메서드 public void setName(String name) { this.name = name; } // 이름 반환 메서드 public String getName() { return name; }} 그리고 아래에는 해당 클래스를 이용해서 새로운 Student 객체를 생성하고 이름을..