접근제한자
public - 모두 접근가능
protected - 다른 패키지에서 접근 불가
default - 다른 클래스에서 접근 불가
private - 다른 메소드에서 접근 불가
라이브러리
표준라이브러리 - 프로그래밍언어에 기본적으로 포함되어있는 라이브러리
C ex) stdio.h, math.h, string.h, stdlib.h(자료형변환,난수발생,메모리할당), time.h
Java ex)
java.lang - 자바에 기본적으로 필요한 자료형, 예외처리 등 (System.out.*)
java.util - 날짜처리, 난수발생, 복잡한 문자열 처리 등
java.io - 파일입출력
java.net - 네트워크와 관련된 기능 (url, socket)
java.awt - 사용자 인터페이스 관련 기능 (ui)
외부라이브러리 - 개발자들이 필요한 기능을 만들어 인터넷 등에 공유해 놓은 것
객체지향프로그래밍 언어
분산네트워크 환경에 적용 가능, 멀티스레드 기능 제공 -> 여러작업 동시처리 가능, 운영체제 및 하드웨어에 독립적, 캡슐화가 가능, 재사용성 높음
구성요소
- 객체 : 연산을 결합시킨 실체
- 클래스 : 두 개 이상의 유사한 객체들의 집합, "데이터를 추상화 하는 단위"
- 메세지 : 객체들 간의 상호작용에 사용되는 수단
특징
- 캡슐화 : 데이터와 데이터를 처리하는 함수를 하나로 묶는 것
- 정보은닉 : 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근
- 추상화 : 불필요한 부분을 생략하고 가장 중요한 것에만 중점을 두어 개략화하는 것
- 상속성 : 이미 정의되어있는 상위클래스의 모든 속성을 하위 클래스가 물려받는 것
- 다형성 : 메세지에 의해 객체가 연산을 수행하게 될 때, 하나의 메세지에 대해 가지고 있는 고유한 방법으로 응답할 수 있는 능력
스크립트 언어
HTML의 문서안에 직접 프로그래밍 언어를 삽입하여 사용하는 것
-
서버용 스크립트 언어 : 서버에서 해석되어 실행 된 후 결과만 클라이언트로 보내는 스크립트 언어(JSP, PHP, 파이썬)
-
클라이언트용 스크립트 언어 : 클라이언트의 웹브라우저에서 해석되어 실행되는 스크립트 언어 (js, vb 등)
선언형 언어
프로그램이 수행해야 할 문제를 기술하는 언어. 목표를 명시하고 알고리즘은 명시하지 않는다.
- 함수형 언어 : 수학적 함수를 조합하여 문제를 해결하는 언어 (LISP)
- 논리형 언어 : 기호 논리학에 기반을 둔 언어, 논리문장을 이용하여 프로그램을 표현하고 계산을 수행(PROLOG)
종류
- HTML : 인터넷의 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어
- LISP : 인공지능 분야에 사용되는 언어, 기본 자료구조가 연결리스트 구조, 재귀호출을 많이 사용
- PROLOG : 논리학을 기초로한 고급언어, 인공지능 분야에서의 논리적 추론이나 리스트 처리등에 주로 사용
- XML : HTML의 단점을 보완하여 웹에서 구조화 된 폭 넓고 다양한 문서들을 상호교환 할 수 있도록 설계된 언어
- HASKELL : 함수형 프로그래밍 언어, 부작용이 없고 코드가 간결하여 에러발생 가능성이 낮다.