1. 포트(Port)란?

운영체제 통신의 종단점(End Point)을 말한다[각주:1].  

포트는 포트번호로 구별되며, 포트번호로 포트유형을 식별할 수 있다.

TCP/IP에서는 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방식으로 사용된다.

 

2. 포트번호

TCP와 UDP에서 상위 계층에 제공하는 주소 표현 방식 중 하나이다.

원하는 서버의 프로세스에 접속하려면 해당 서버의 IP주소와 포트 번호를 알아야 한다.

인터넷에서 자주 사용하는 응용서비스들은 고정된 포트 번호가 있는데, 이것은 Well-known 포트라고 해서 전 세계의 모든 컴퓨터가 동일한 포트 번호를 사용하도록 권고되고있다.

서비스 포트 번호
HTTP 80
DNS 53
Telnet 23

UDP와 TCP는 서로 다른 포트 주소 공간을 사용하므로 포트 번호가 겹쳐도 된다. 즉, 서로 다른 프로토콜이기 때문에 동일한 포트 번호를 할당해도 서로 다른 포트 번호로 간주된다.

 

 

 

참고문헌

위키백과 '포트 (컴퓨터 네트워킹)'

https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9) 

 

포트 (컴퓨터 네트워킹) - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

두산백과 '포트' https://terms.naver.com/entry.naver?docId=1213147&cid=40942&categoryId=32848 

 

포트

모뎀과 컴퓨터 사이에 데이터를 주고받을 수 있는 통로. 컴퓨터에서 포트는 크게 두 가지 의미를 지닌다. 첫째는 컴퓨터의 주변장치를 접속하기 위해 사용되는 연결 부분을 의미한다. 대개 소켓

terms.naver.com

네이버 지식백과 '포트 번호' https://terms.naver.com/entry.naver?docId=2271915&cid=51207&categoryId=51207 

 

포트 번호

포트(Port) 번호는 TCP와 UDP가 상위 계층에 제공하는 주소 표현 방식이다. 유닉스 환경에서는 소켓으로 포트를 구현하므로 TCP/UDP를 사용하려면 소켓 시스템 콜의 인터페이스를 알아야 한다. 소켓(S

terms.naver.com

 

  1. 논리적 접속장소를 말한다. [본문으로]

자바는 변수[각주:1]를 선언할 때, 데이터 타입을 결정하며 선언하게 된다.

int age; // 초기화 하지 않은 변수 age, 데이터 타입은 int
String name = "피그십" // 초기화 한 String 변수

 

기본 타입이란?

원시[각주:2] 타입이라고도 한다. 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입이다.

 

1 ) 정수

byte 1byte (=8bit)
short 2byte
int 4byte
long 8byte

정수형 데이터 타입을 선언 할 때에는 데이터의 최대 크기를 고려해야한다. 범위를 벗어난 값을 저장하면 overflow가 발생하여 인접한 다른 값이 저장되기 때문이다. cf) underflow [각주:3]

 

2) 실수

  메모리 크기 유효 자릿수
float 4byte 소수 부분 6자리까지 표현가능
double 8byte 소수 부분 15자리까지 표현가능

3) 문자

작은 정수나 문자 한 자를 표현하는 타입을 말한다.

char 2byte

컴퓨터 프로그래밍에서는 2진수로 표현하기에 문자를 표기할 때는 일종의 약속이 필요하다.

C와 C++에서는 아스키 코드로 문자를 표현하고, JAVA에서는 유니코드로 문자를 표현한다.

아스키 코드로는 영문자와 숫자밖에 표현이 안 되지만, 유니코드는 다양한 나라의 언어를 표현 할 수 있다.

 

4) 논리형

boolean 1byte

기본 값은 false이다.

 

 

 

참고문헌

신용권, 「이것이 자바다 1」, 한빛미디어, 2020

TCP스쿨 '기본타입' http://www.tcpschool.com/java/java_datatype_basic

  1. 하나의 값을 저장할 수 있는 메모리 공간 [본문으로]
  2. Primitive [본문으로]
  3. 해당 타입이 표현할 수 있는 최소 범위를 넘어버린 경우 [본문으로]

1. 객체지향 프로그래밍이란?

객체지향 프로그래밍 (OOP: Object-Oriented Programming) 은 컴퓨터 프로그래밍 패러다임의 한 종류 이며, 객체(Object)와 객체(Object)간의 메시지 전달을 통해 프로그래밍을 구현하는 방식이다. 특징으로는 객체지향으로 짜인 프로그램은 유연하고 변경이 쉽고 강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향한다.[각주:1]

 

2. 요소

객체(Object)
클래스의 인스턴스 개체(Entity) 현실 세계의 본질
속성(Attribute) 자료 저장소 (cf.변수)
메소드(Method) 호출 단위 (cf.함수)
클래스(Class) 객체를 생성하는 추상 메소드 타입
메시지(Message)  객체 간의 통신

 

3. 특징

 

자료 추상화

불필요한 정보는 숨기고 중요 정보만 표현하며 프로그램을 간단히 만드는 것.

 

상속

기존 클래스의 자료와 연산을 새로운 클래스에서 사용할 수 있게 하는 기능.

일반적으로 상속 받는 클래스를 자식 클래스(하위 클래스)라고 하며, 상속하는 클래스를 부모 클래스(상위 클래스) 라고 한다. 클래스 간의 종속 관계를 형성하여 객체를 조직화 하는 역할을 한다.

 

다중 상속

하나의 클래스가 2개 이상의 클래스로 부터 상속받을 수 있게 하는 기능.

 

다형성 
한 요소에 여러 개념을 넣어 놓은 것. [각주:2]

 

동적 바인딩

런타임 중 변경 될 수 있는 바인딩을 말한다. 

 

4. SOLID

로버트 마틴이 명명한 객체 지향 프로그래밍의 다섯 가지 기본 원칙의 앞글자를 딴 것을 말한다.

유지보수와 확장이 쉬운 프로그램을 개발하기 위한 원칙이다.

 

SRP 단일 책임 원칙(Single Responsibility Principle)

"한 클래스는 하나의 책임만 가져야 한다."

 

OCP 개방 폐쇄 원칙 (Open Closed Principle)

"소프트웨어 요소는 확장에는 열려있어야하나, 변경에는 닫혀있어야 한다."

 

LSP 리스코프 치환 원칙 (Liskov Substitution Principle)

"프로그램의 객체는 프로그램의 정확성을 깨트리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다."

 

ISP 인터페이스 분리 원칙 (Interface Segregation Principle)

"특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다."

 

DIP 의존관계 역전 원칙 (Dependency Inversion Principle)

"프로그래머는 추상화에 의존해야지 구체화에 의존하면 안된다."

 

 

 

참조문헌

NCS 정보처리기술사 연구회,「수제비 정보처리기사 실기vol.1」,건기원,2021

위키백과 '객체 지향 프로그래밍' https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D

 

객체 지향 프로그래밍 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

위키백과 'SOLID (객체 지향 설계)' https://ko.wikipedia.org/wiki/SOLID_(%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%EC%84%A4%EA%B3%84) 

 

SOLID (객체 지향 설계) - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

  1. 하나의 목적으로 데이터를 모아놓은 데이터형을 사용하고, 클래스간 독립적인 디자인을 하기 때문이다. [본문으로]
  2. 오버라이딩, 오버로딩이 있다 [본문으로]

+ Recent posts