분류 전체보기 88

추상클래스 (Abstract)

추상클래스: - 인스턴스 생성이 불가능 (상속을 위해 만든 클래스). - 하나이상의 추상메서드를 가지고 있다. - 일반 구상메서드(구현부가 있는메서드)또한 가지고 있을 수 있다. - 추상클래스를 상속한 클래스를 서브클래스(Subclass)라고 한다. - 추상클래스에 추상메서드가 있을 경우 서브클래스는 반드시 그 추상메서드를 오버라이딩(Overriding)하여 구현해야 한다.

추상클래스(Abstract) vs 인터페이스(Interface)

다형성 "여러 형태를 갖는 것"으로 정의 한 변수의 타입과 그 변수가 참조하는 인스턴스의 타입이 정확하게 일치할 필요 없는 성질 다형성은 다형 참조가 가능한데 이는 때에 따라 다른 타입의 객체를 참조할 수 있다는 것 동적바인딩을 통해서 추상클래스: - 한개 이상의 추상 메소드를 가지고 있는 클래스 - 인스턴스의 생성이 불가능하며, 해당 클래스를 extends 하여 추상 메소드를 구현해야만 사용 가능 인터페이스: - 메소드에 대한 명세와 상수만 존재 - 상속받은 클래스는 인터페이스에 있는 모든 메소드를 구현해야 함 추상 클래스로 정의된 타입을 구현하는 클래스는 반드시 서브 클래스가 되어야 함 반면에 인터페이스는 인터페이스에 정의된 모든 메소드를 구현하고 인터페이스 구현 계약을 지키면 됩니다. 즉 클래스 상..

Stack / Queue

꽉 차서 더 이상 자료를 넣을 수 없는 경우(put,push 할 수 없는 경우)를 오버플로우(Overflow), 비어 있어 자료를 꺼낼 수 없는 경우(get,pop 할 수 없는 경우)를 언더플로우(Underflow)라고 한다. Stack 스택(Stack)은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 보관한 자료부터 나오게 된다. Queue 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 ..

Array / List

Array 인덱스(Index)를 통해 데이터에 접근하는 것이 특징. 데이터 접근이 용이하다(Index로 바로 접근) 크기가 고정되어 있기때문에 데이터 추가/삭제가 어렵다. 빈 엘리먼트가 허용된다. 중복 엘리먼트가 허용된다. List 순서(Sequence)가 있는 엘리먼트의 모임. 열거(Enumerate)하여 값을 찾아 데이터 접근이 불편하다. 크기가 고정되어 있지 않기때문에 데이터 추가/삭제가 용이하다. 빈 엘리먼트는 허용하지 않는다(값에 Null을 넣을수는 있음). 중복 엘리먼트는 허용한다. ArrayList 자바에서 제공하는 Array와 List의 장점을 모두 가진 자료구조. 인덱스를 사용하여 데이터에 접근이 가능한 Array의 장점. add, get API를 통해 자료의 추가 삭제가 가능한 List..

HTTP

HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 WWW 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. TCP와 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP를 통해 전달되는 자료는 ..

프로그램, 프로세스, 스레드

프로그램 - 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 올바른 수행절차를 표현해 놓은 명령어들의 집합 프로세스 : - 간단하게 말하면 '실행 중인 프로그램' - 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 됨 - 프로세스는 데이터와 메모리등의 자원과 쓰레드로 구성 스레드: - 쓰레드란 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것을 말한다.