##다. 객체 지향 프로그래밍에서 일반적으로 추상 자료형을 클래스, 추상 자료형의 인스턴스를 객체, 추상 자료형에서 정의된 연산을 메소드 ( 함수 ), 메소드의 호출을 생성자라고 한다. 상속 [ 편집 ] 상속은 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능이다. 상속을 받는 새로운 클래스를 부클래스, 파생 클래스, 하위 클래스, 자식 클래스라고 하며 새로운 클래스가 상속하는 기존의 클래스를 기반 클래스, 상위 클래스, 부모 클래스라고 한다. 상속을 통해서 기존의 클래스를 상속받은 하위 클래스를 이용해 프로그램의 요구에 맞추어 클래스를 수정할 수 있고 클래스 간의 종속 관계를 형성함으로써 객체를 조직화할 수 있다. 다중 상속 [ 편집 ] 다중 상속은 클래스가 2개 이상의 클래스로부터 상속받을 수 있게 하는 기능이다. 클래스들의 기능이 동시에 필요할 때 용이하나 클래스의 상속 관계에 혼란을 줄 수 있고 ( 예 : 다이아몬드 상속 ) 프로그래밍 언어에 따라 사용 가능 유무가 다르므로 주의해서 사용해야 한다. JAVA는 지원하지 않는다. 다형성 개념 [ 편집 ] 다형성 개념이란 어떤 한 요소에 여러 개념을 넣어 놓는 것으로 일반적으로 오버라이딩 ( 같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것
##석학 이산수학 계산 이론 오토마타 이론 계산 가능성 이론 계산 복잡도 이론 양자 계산 이론 알고리즘 & 자료 구조 알고리즘 알고리즘 설계 알고리즘 해석 자료 구조 계산기하학 프로그래밍 언어 & 컴파일러 구문 분석 컴파일러 인터프리터 프로그래밍 언어 구조적 프로그래밍 객체 지향 프로그래밍 병렬 & 분산 시스템 병렬 컴퓨팅 컴퓨터 클러스터 분산 컴퓨팅 그리드 컴퓨팅 클라우드 컴퓨팅 IaaS PaaS SaaS 소프트웨어 공학 요구 분석 소프트웨어 설계 컴퓨터 프로그래밍 정형 기법 소프트웨어 테스트 소프트웨어 개발 시스템 아키텍처 컴퓨터 아키텍처 마이크로아키텍처 운영 체제 통신 & 네트워크 컴퓨터 오디오 라우팅 네트워크 토폴로지 암호학 차세대 통신망 데이터베이스 데이터 마이닝 RDBMS SQL NoSQL 오라클 데이터베이스 인공 지능 자동추론 전산언어학 컴퓨터 비전 진화 연산 기계 학습 자연 언어 처리 로봇학 컴퓨터 그래픽 시각화 영상 처리 인간과 컴퓨터 상호 작용 컴퓨터 접근성 사용자 인터페이스 착용 컴퓨터 유비쿼터스 컴퓨팅 가상현실 계산과학 인공생명 생물정보학 인지과학 계산화학 계산론적 신경과학 계산물리학 수치해석학 기호계산 정보보호 암호학 물리 보안 애플리케이션 보안 인터넷 보안 네트워크 보안 해킹 크래킹 vdeh소프트웨어 공학분야 컴퓨터 프로그래밍 요구공학 소프트웨어 배치 소프트웨어 설계 소프트웨어 유지보수 소프트웨어 테스트 시스템 분석 정형 기법 개념 데이터 모델링 엔터프라이즈 아키텍처 기능 명세서 모델링 언어 직교성 프로그래밍 패러다임 소프트웨어 소프트웨어 고고학 소프트웨어 구조 소프트웨어 구성 관리 소프트웨어 개발 프로세스 소프트웨어 개발 방법론 소프트웨어 품질 소프트웨어 품질 보증 소프트웨어 검증 및
##지안 컴퓨팅 센터의 조한 달과 크리스틴이 발표한 시뮬라67이다. 시뮬라67이 채택하고 있는 가장 중요한 개념은 클래스의 도입으로서 이 아이디어는 스몰토크, C 등에도 사용되었다. 하지만 시뮬라 67의 발표 이후 10여년 간 객체 지향 언어는 전혀 주목을 받지 못하였다. 1970년 컴퓨터 산업을 주도한 IBM, AT & T, 미 국방성 등에서 관심을 두지 않았기 때문에 시뮬라 67은 실용적인 언어로 발전하지는 못하였다. 하지만 이의 학문적 가치는 인정받고 있다. 스몰토크 [ 편집 ] 스몰토크 문서를 참고하십시오. 객체 지향 언어로서의 실질적 원조는 제록스 기업의 팰러앨토 연구소에서 앨런 케이의 책임 하에 만들어진 스몰토크이다. 이 언어 역시 아이디어는 시뮬라 67 에서 얻어왔지만 가장 순수한 객체 지향 언어로 만들어졌으며 현재에도 인정받고 있다. 미국에서 많은 사용자들을 확보하고 있다. 1970년대 말 스몰토크가 만들어질 당시 제록스에서는 3가지 가정을 하고 이 가정에 초점을 맞추어 스몰토크의 문법과 의미를 정의하였다. 첫 번째는 전 세계의 모든 사람이 컴퓨터를 사용할 것이라는 가정이었고, 두 번째는 모든 사용자가 그래픽이 지원되는 모니터와 마우스를 기본
Oriented Programming, OOP ) 은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 " 객체 " 들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다. 목차 1 역사 1. 1 객체 지향 언어의 시초 1. 2 스몰토크 1. 3 에이다 1. 4 이후에는 2 기본 구성 요소 3 특징 3. 1 자료 추상화 3. 2 상속 3. 3 다중 상속 3. 4 다형성 개념 3. 5 동적 바인딩 4 장점 5 객체 지향 언어 6 참고 문헌 7 같이 보기 8 외부 링크 역사 [ 편집 ] 객체 지향 언어의 시초 [ 편집 ] 객체 지향 언어의 시초는 1960년 노위지안 컴퓨팅 센터의 조한 달과 크리스틴이 발표한 시뮬라67이다. 시뮬라67이 채택하고 있는 가장 중요한 개념은
en : Edward Yourdon en : Mohamed Fayad 관련 분야 컴퓨터 과학 컴퓨터 공학 프로젝트 관리 위험관리 시스템 공학 분류 공용 전거 통제 LCCN : sh87007503 GND : 4233947 - 9 BNF : cb12115131k ( 데이터 ) NDL : 00937980 BNE : XX537453 원본 주소 " " 분류 : 객체 지향 프로그래밍프로그래밍 패러다임숨은 분류 : 영어 표기를 포함한 문서문장에 쪽 번호가 필요한 글 / 2013년 9월문장에 쪽 번호가 필요한 글LCCN 식별자를 포함한 위키백과 문서GND 식별자를 포함한 위키백과 문서BNF 식별자를 포함한 위키백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 ( ) 日 本 語 / /
객체 지향 프로그래밍 - 위키백과, 우리 모두의 백과사전 객체 지향 프로그래밍 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 프로그래밍 패러다임 행위 에이전트 지향 배열 지향 오토마타 기반 병행 컴퓨팅 상대주의적 프로그래밍 데이터 기반 선언형 ( 반의어 : 명령형 ) 함수형 함수 논리형 순수 함수형 논리형 가추법 Answer set 병행 논리 함수 논리 귀납적 논리 제약 제약 논리 병행 제약 논리 데이터플로 플로 기반 반응형 동적 / 스크립트 사건 기반 함수 레벨 ( 반의어 : 값 레벨 ) 포인트 프리 스타일 연결식 제네릭 명령형 ( 반의어 : 선언형 ) 절차적 객체 지향 문학적 언어 지향 자연어 프로그래밍 규율 지향 도메인 특화 문법 지향 의도적 메타프로그래밍 자동 귀납적 프로그래밍 반영 속성 지향 매크로 템플릿 비구조적 ( 반의어 : 구조적 ) 배열 비결정 병렬 컴퓨팅 프로세스 지향 확률론적 스택 지향 구조적 ( 반의어 : 비구조적 ) 블록 구조 객체 지향 행위자 기반 클래스 기반 병행 프로토타입 기반 관심사의 분리에 따라 : 관점 지향 역할 지향 주체 지향 재귀 심볼릭 값 레벨 ( 반의어 : 함수 레벨 ) 프로그래밍 v. d. e. h 객체 지향 프로그래밍 ( 영어 : Object - Oriented Programming, OOP ) 은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의
##기PDF로 다운로드인쇄용 판 다른 언어 ( ) 日 本 語 / / 中 文 - - 語 링크 편집 이 문서는 2019년 5월 7일 ( 화 ) 22 : 57에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
객체 지향 언어 [ 편집 ] 다음은 대표적인 객체 지향 프로그래밍 언어들이다. 시뮬라 67 ( 영어 : Simula 67 ) : 최초의 객체 지향 언어로 알려져 있음 스몰토크 비주얼 베이직 닷넷 오브젝티브 - C C C # 자바 객체지향 파스칼 델파이 파이썬 펄 루비 액션스크립트 ASP 스위프트 참고 문헌 [ 편집 ] K교수의 객체지향 이야기, 김태균 [ 쪽 번호 필요 ] 같이 보기 [ 편집 ] 구조적 프로그래밍 CRC 카드 NEXTSTEP 외부 링크 [ 편집 ] ( 영어 ) 객체 지향 프로그래밍 - Curlie ( DMOZ 기반 ) vdeh프로그래밍 언어의 유형 행위자 기반 배열 관점 지향 클래스 기반 연결형 병행 데이터플로 선언형 도메인 특화 동적 난해 사건 기반 확장 가능 함수형 명령형 논리형 매크로 메타프로그래밍 다중 패러다임 객체 지반 객체 지향 파이프라인 절차적 프로토타입 기반 반영 규칙 기반 스크립팅 스택 기반 동시성 템플릿 어셈블리어 컴파일 언어 인터프리트 언어 기계어 저급 고급 상당한 고급 1세대 2세대 3세대 4세대 5세대 영어 기반이 아님 비주얼 vdeh컴퓨터 과학의 주요 분야수학적 기초 수리논리학 집합론 정수론 그래프 이론 형 이론 범주론 수치해석학 이산수학 계산 이론 오토마타 이론 계산 가능성 이론 계산 복잡도 이론 양자 계산 이론 알고리즘 & 자료 구조 알고리즘 알고리즘 설계 알고리즘
발전에 따라 점점 향상되었다. 그 중 AT & T의 벨 연구소에서 비야네 스트롭스트룹등에 의해 개발된 C는 가장 많은 사용자를 확보하고 있는 객체지향 언어다. C의 가장 큰 특징은 점점 진화해 가고 있다는 점이다. 초기의 C는 C에 클래스 개념만 도입된 것에 지나지 않았으나, 중복, 상속, 가상 함수, 추상 클래스, 예외 처리와 같은 다양한 기능이 추가되면서 점차 향상되고 있다. C는 C를 기반으로 하기 때문에 많은 프로그래머들의 인기를 받고 있지만 그로 인하여 객체 지향성을 제대로 반영하지 못하고 있다는 비난을 받기도 한다. 1990년대 중반 이후로 각광받고 있는 객체 지향 언어는 자바로 가전 제품에 사용될 소프트웨어의 개발 목적으로 썬 마이크로시스템즈의 제임스 고슬링에 의하여 고안된 언어이다. 1993년 고슬링은 월드 와이드 웹에 자바 언어를 적용할 것을 결정하면서 핫자바라는 웹 브라우저를 개발하였고, 이는 1995년 이후 넷스케이프사 쪽에서 지원을 받게 되었다. 자바 언어의 장점은 언어의 단순성과 플랫폼 독립성이다. 특히 언어의 단순성 입장에서 객체 지향 패러다임에 충실하게 언어가 고안되었기 때문에 C보다 오용의 소지가 다소 적다. 브래드 콕
개념을 넣어 놓는 것으로 일반적으로 오버라이딩 ( 같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것 ) 이나 오버로딩 ( 같은 이름의 메소드가 인자의 개수나 자료형에 따라서 다른 기능을 하는 것 ) 을 의미한다. 다형 개념을 통해서 프로그램 안의 객체 간의 관계를 조직적으로 나타낼 수 있다. 동적 바인딩 [ 편집 ] 동적 바인딩은 실행 시간 중에 일어나거나 실행 과정에서 변경될 수 있는 바인딩으로 컴파일 시간에 완료되어 변화하지 않는 정적 바인딩과 대비되는 개념이다. 동적 바인딩은 프로그램의 한 개체나 기호를 실행 과정에 여러 속성이나 연산에 바인딩함으로써 다형 개념을 실현한다. 장점 [ 편집 ] 소프트웨어 공학의 관점에서 볼 때 S / W의 질을 향상하기 위해 강한 응집력 ( Strong Cohesion ) 과 약한 결합력 ( Weak Coupling ) 을 지향해야 하는데, OOP의 경우 클래스에 하나의 문제 해결을 위한 데이터를 모아 놓은 데이터형을 사용함으로써 응집력을 강화하고, 클래스간에 독립적으로 디자인함으로써 결합력을 약하게 할 수 있다. 객체 지향 언어 [ 편집 ] 다음은 대표적인 객체 지향 프로그래밍 언어들이다. 시뮬라 67 ( 영어 : Simula 67 ) : 최초
객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 쉽게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점이 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다.