본문 바로가기

분류 전체보기

(40)
[네트워크 1] 데이터 통신 개요 1. 네트워크 기초 용어 시스템: 내부 규칙에 따라 능동적으로 동작하는 대상예) 컴퓨터, 자동차, 커피, 자판기, 마이크로 프로세서, 운영체제, 프로세스 인터페이스: 시스템과 전송 매체의 연결 지점에 대한 규격예) RS-232C, USB 전송매체: 시스템끼리 데이터를 전달하기 위한 물리적인 전송 수단예) UTP 케이블 프로토콜: 전송 매체를 통해 데이터를 교환할 때의 임의의 통신 규칙 (HTTP) 네트워크: 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭 인터넷- 전세계의 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크- 공통 기능 : IP(Internet Protocol)  -> mac address 표준화: 서로 다른 시스템이 상호 연동해 동작하기 위한 통일된 연동 형식 2. 시스템의..
자바강의 10일차 1. 내부클래스 - 내부클래스는 클래스 내에 클래스가 선언된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. - 내부클래스는 사용빈도가 높지 않으므로 내부 클래스의 기본 원리와 특징을 이해하는 정도만 알아보자. - 내부클래스는 클래슨 내에 선언된 클래스로써 두 클래스가 서로 긴밀한 관계에 있기 때문에 사용한다. - 내부클래스의 장점은 다음과 같다. ① 내부클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. ② 코드의 복잡성을 줄일 수 있다. 1-1) 내부클래스의 종류와 특징 - 내부클래스의 종류는 변수의 선언위치에 따른 종류와 같다. - 내부클래스는 마치 변수를 선언하는 것과 같은 위치에 선언할 수 있으며, 변수의 선언위치에 따라 인스턴스변수, 클래스변수, 지역변수로 구분되는 것과 같이 내부클래..
자바강의 9일차 1. 추상클래스 (abstract class) - 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. - 즉, 완성되지 못한채로 남겨진 설계도를 말한다. - 미완성설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스를 생성할 수 없다. - 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. (확장) - 추상클래스는 새로운 클래스를 작성하는 데 있어서 바탕이 되는 클래스로써 중요한 의미를 가진다. - 만약, 같은 크기의 Tv라도 기능의 차이에 따라 여러 종류에 모델이 있지만 사실 이들의 설계도는 아마 90%정도 동일할 것이다. 서로 다른 여러개의 설계도를 따로 그리는 것보다 이들의 공통부분만을 그린 미완성 설계도를 만들어 놓고 이 미완성 설계도를 이용해서 각각..
자바강의 8일차 1. 제어자(modifier) 1-1) 제어자란? - 제어자란 클래스, 변수 또는 메소드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. - 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다. 접근제어자 public, protected,(default),private 그 외 static, final, abstract, transient, synchronized, volatile, strictfp... - 제어자는 클래스나 멤버변수와 메소드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. - 단, 접근제어자는한 변에 4가지 중 하나만 선택해서 사용할 수 있다. 1-2) static - 클래스, 공통적인 - static은 '클래스의' 또는 '공통적..
자바강의 7일차 1. 상속(inheritance) 1-1) 상속의 정의와 장점 - 상속이란 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. - 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. => 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. - 상속을 구현하기 위해선 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써 주기만 하면 된다. 조상클래스 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 자손클래스 자식(child)클래스, 하위(sub)클래스, 파생된(der..
자바강의 6일차 1. 오버로딩(overloading) 1-1) 오버로딩이란? - 한 클래스 내에 같은 이름의 메소드를 여러개 정의하는 것을 '메소드 오버로딩(method overloading)' 또는 간단히 오버로딩(overloading)이라고 한다. - 하나의 메소드 이름으로 여러 기능을 구현하기 위해 사용한다. 1-2) 오버로딩의 조건 ① 메소드 이름이 같아야 한다. ② 매개변수의 개수또는타입이 달라야 한다. - 메소드의 이름이 같더라도 매개변수가 다르면 서로 구별될 수 있기 때문에 오버로딩이 가능하다. - 반환타입은 오버로딩을 구현하는데 아무런 영향도 주지 못한다. 1-3) 오버로딩의 장점 - 하나의 이름을 사용하고 기억하면 되므로 '이 메소드는 이름이 같으니 같은 기능을 하겠구나'라고 쉽게 예측이 가능하다. - ..
자바강의 5일차 [객체지향 언어(클래스와 객체)] 1. 객체지향 언어 - 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며 발생하는 모든 사건들은 사물간의 상호작용이다'라는 것이다. - 실제 사물의 속성과 기능을 분석한 다음 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같다. - 객체지향 언어의 특징 ① 코드의 재 사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. ② 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. ③ 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메소드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 ..
자바강의 4일차 1. 배열(array) 1-1) 배열이란? - 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라 한다. "배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것" - 여기서 중요한 것은 같은타입이어야 한다는 것이다. - 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. Ex) int[] score = new int[5]; // 5개의 int값을 저장할 수 있는 배열 생성 1-2) 배열의 생성 - 배열을 선언하는 방법은 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호 []를 붙이면 된다. 선언방법 선언예시 타입[ ] 변수이름; int[] score; , String[] names; 타입 변수이름[ ] int score[]; , String names[]; * 배열의..