2회차(2023.01.12 19:00 ~ 22:00)
오늘의 목표
1. 객체지향, OS, DB, 네트워크 복습
1. 객체지향, OS, DB, 네트워크 복습
내일 SW 아카데미 시험이 있는 관계로 급하게 계획을 수정했다.
객체지향
컴파일 : 프로그램을 번역하는 과정
컴파일러 : 컴파일을 수행하는 주체
=> 컴파일러는 프로그램을 번역하는 프로그램
컴파일러에 의해 번역되는 프로그래밍 언어 : C/C++, Java, OCmal 등
해석(interpretation) : 프로그램을 해석 & 실행하는 과정
인터프리터 : 해석을 수행하는 주체
=> 인터프리터는 프로그램을 컴퓨터 대신 해석하는 프로그램
인터프리터에 의해 해석&실행되는 프로그래밍 언어 : Python, JavaScript 등
객체란?
객체 = Object = 사물
객체지향이란?
객체들 간의 관계를 통해 프로그램을 구성하는 것
절차지향 : 절차와 데이터로 구성
객체지향 : 행동과 상태로 구성
객체지향을 대표하는 6가지 개념
1. 클래스 : 특성과 행동으로 정의되는 객체의 분류
2. 객체 : 상태와 행동을 갖는 클래스의 사례(instance)
3. 추상화
- 객체 사용과 무관한 세부 구현을 감춤
- 어떤 행동(what)을 할 수 있는지에 초점
- 행동을 어떻게(how) 수행하는지는 감춤
4. 캡슐화
- 객체의 내부 상태를 외부로부터 감춤
- 접근 지정자 이용
5. 상속
- 기존 클래스로부터 새로운 클래스를 파생
- 부모 클래스, 자식 클래스
6. 다형성
- 다양한 형태나 의미를 가질 수 있는 특성
- 정적 다형성 : 형태나 의미가 컴파일 시점에 결정
- 동적 다형성 : 형태나 의미가 실행 시점에 결정
객체지향 언어의 장점
- 코드의 재사용성이 높음
- 코드의 관리가 쉬움
- 신뢰성 높은 프로그래밍이 가능
변수 종류
- 인스턴스 변수 : 객체의 상태를 구성하는 변수
- 스태틱 변수 : 클래스에 귀속되어 해당 클래스의 모든 객체가 공유하는 변수
- 로컬 변수
메소드 종류
- 인스턴스 메소드 : 객체의 행동을 정의한 함수, 객체의 상태 변화 가능
- 스태틱 메소드 : 클래스에 귀속된 행동, 수신자 객체가 없으므로, 객체의 상태 변화 불가
생성자
클래스를 객체화 할 때, 객체의 상태를 초기화하는 메소드
메소드 오버로딩 : 메소드 호출 시 사용되는 인자의 개수, 자료형에 따라 호출되는 대상 함수가 결정
클래스 사이의 관계
1. has-a(포함)
2. is-a(상속)
접근 지정자(접근 제어자)
public : 접근 제한 없음
protected : 동일한 패키지 + 자식 클래스
default : 동일한 패키지 내의 클래스
private : 클래스 내부
오버라이딩(overriding) : 부모 클래스의 메소드를 자식 클래스에서 재정의하는 것
- 메소드 이름, 매개변수, 리턴타입이 반드시 같아야 함
- 접근 지정자가 같거나 넓어져야 함
상속과 다형성
다형성 : 어떤 하나의 것이 여러 형태 또는 의미를 가질 수 있는 것
- 상속을 통해 다형성을 지원
- 자식의 객체는 부모의 분류에 속함
ex) Car c = new Bus();
car : 부모, bus : 자식
동적 디스패치(dynamic dispatch)
어떤 메소드를 부를지 실행 시점에 결정하는 것
다형성 지원의 중요한 요소 중 하나
정적 디스패치
컴파일 시점에 호출될 메소드가 결정
메소드 오버로딩은 정적 디스패치를 사용
메소드 오버로딩 : 동일한 이름의 새로운 메소드를 정의하는 것
- 기존 같은 이름의 메소드와 파라미터 개수가 다름
- 기존 같은 이름의 메소드와 파라미터 타입이 다름
추상 클래스
- 구현이 정의되지 않은 추상 메소드를 포함
- 추상 메소드 : 선언은 있으나 구현이 없는 메소드로, abstract 키워드로 정의
인터페이스
- 상수와 추상 메소드만 멤버로 가질 수 있음
- 객체 생성 불가, 오직 다른 클래스에 의해 구현될 목적
인터페이스끼리 상속 가능
하나의 인터페이스가 여러 인터페이스를 상속받는 다중 상속 가능
컴퓨터네트워크
데이터 통신
송신자 - 송신기 - 전송 시스템 - 수신기 - 수신자
컴퓨터 네트워크 : 전송매체에 연결된 노드(수신 장치)와 링크(통신 채널)의 집합
프로토콜
- 이기종 시스템 간에도 통신이 가능하게 하기 위해 만든 일련의 표준, 협약
- 전달되는 정보의 형태, 오류 제어, 동기방식 등의 약속
주요 요소
1. 구문 (데이터의 형식, 부호화, 신호레벨 정의)
2. 의미 (해당패턴에 대한 해석과, 그 해석에 따른 전송제어, 오류수정 등에 관한 제어정보를 규정)
3. 타이밍 (두 객체간의 통신 속도 조정, 메시지의 전송 시간 및 순서 등에 대한 특성)
최초의 전기 통신은 1837년 사무엘 모스가 발명한 모스 부호
1876년 알렉산더 벨이 전화 발명
대역폭(bandwidth)
전송매체를 지나는 최대주파수와 최저주파수의 차이
대역폭이 높으면 단위시간 당 더 많은 데이터를 전송할 수 있다.
모뎀
- 컴퓨터 통신의 초기에는 기존에 있는 전화망을 사용하여 이용
- 전화망은 아날로그를 전송 => 컴퓨터 통신에 사용하기 위해서는 디지털 신호로의 변환 필요
변조 : 디지털 => 아날로그
복조 : 아날로그 => 디지털

네트워크 인터페이스 카드(NIC) : 디지털 신호를 직접 전송
허브 : 여러 곳으로부터 들어온 데이터를 그대로 다른 여러 곳으로 보내는 역할
- 더미 허브 : 단순 전달
- 스위칭 허브 : 단순 전달 + 목적지 주소로 스위칭 기능
리피터 : 약해진 신호를 다시 생성하여 전송
브리지 : 프레임의 주소를 보고 같은 LAN에 포함되어 있는 주소의 프레임은 받아들이고, 다른 LAN으로 보내야 할 것들은 브리지를 통해 해당 LAN으로 보냄
라우터 : 패킷의 논리주소(IP주소)에 따라 패킷을 라우팅, 네트워크의 연결 기능 담당
라우팅 : 라우터는 라우터로 수신되는 패킷의 목적지 인터넷 주소를 보고 다음 경로를 결정
게이트웨이 : 프로토콜 변환기, 서로 다른 프로토콜의 두 개의 네트워크를 서로 연결
회선교환방식
- 회선이 설정되어 해제되기 전까지 데이터를 전송하지 않을 때에도 다른 컴퓨터가 회선 사용 불가
- 음성과 같은 실시간 데이터 전송에 적합
- 독점사용 => 대량의 데이터 고속 전송
패킷교환방식
- 각 패킷들은 네트워크의 트래픽 상태에 따라 각기 다른 전송 경로
- 동일한 경로를 다른 목적지로 가는 여러 패킷들이 공유하므로 통신회선을 보다 효율적으로 사용

LAN(Local)
- 전송지연시간 적음
- LAN 표준 : 이더넷
MAN(Metropolitan)
- 하나의 마을이나 도시를 연결하는 네트워크
WAN(Wide)
- 전세계 연결 인터넷
- 상대적으로 먼 거리 연결 => 구축하는데 많은 비용, 저속
WWW(World Wide Web)
- 클라이언트/서버 구조 방식
FTP : File Transfer Protocol
계층구조 : 각 임무들이 계층구조에서 주어진 순서대로 수행
서비스
- 각 계층은 바로 아래 계층의 서비스 이용
- 각 계층은 상위 계층에 서비스를 제공

하나의 계층은 자신의 고유 역할을 수행하고, 자신과 인접한 다른 계층에 무엇인가를 요청하거나 응답
타 계층은 신경 슬 필요 X => 각 계층은 자신의 역할에 충실할 수 있다.
장점
- 단순함
- 설계 쉬움
- 유지 쉬움
- 기능에 대한 중복정의 피함
- 표준화 가능 => 여러 회사 장비의 호환 가능
- 유연성
- 쉬운 수정
- 쉬운 향상
OSI 7 layer
물리 - 데이터링크 - 네트워크 - 전송 - 세션 - 표현 - 응용
데이터링크 계층
- 논리적 단위 : 프레임
- 접근 제어
- 흐름 제어
- 오류 제어
- 동기화
네트워크 계층
- 스위칭 & 라우팅
- 논리주소인 IP주소를 헤더에 포함하여 전송
TCP/IP 프로토콜
네트워크(물리 + 데이터링크) - 인터넷 - 전송 - 응용(세션 + 표현 + 응용)
트랜잭션
- 데이터 교환을 위해 컴퓨터 시스템이 완료해야 하는 일련의 처리 동작
- 클라이언트가 서버에게 요청을 하고 서버가 응답을 보내는 과정
IP주소
8비트 크기의 필드 네 개를 모아 구성한 32비트 논리 주소
표현 범위 : 0.0.0.0 ~ 255.255.255.255
서브네팅
하나의 큰 네트워크를 몇 개의 작은 논리적인 네트워크로 분할하여 사용하는 방식
IP는 전송완료까지는 보장하지 않는다. 패킷 손실 => IP는 아무런 조치도 하지 않는다.
연결형 서비스 : TCP방식
비연결형 서비스 : UDP 방식(신뢰성 있는 데이터 전송 불가)
패킷 교환방식의 특징 : 순서가 바뀔 수도 있다.
시간을 고려하지 못하고 계획을 작성해서 네 과목 중 두과목밖에 보지 못해서 아쉽다.
갑작스러운 계획 변경이 없도록 공부는 미리미리 해두어야겠다.
온라인으로 하는 팀미팅도 나쁘지 않다고 생각했다.
'모각코' 카테고리의 다른 글
[2022 동계 모각코] 4회차 회고록 (0) | 2023.01.27 |
---|---|
[2022 동계 모각코] 3회차 회고록 (0) | 2023.01.21 |
[2022 동계 모각코] 1회차 회고록 (1) | 2023.01.05 |
[2022 동계 모각코] 목표 및 회차별 계획 (0) | 2022.12.19 |
[2022 하계 모각코] 6회차 회고록 (0) | 2022.08.15 |