2013년 5월 9일 목요일

[스터디] 프로그래머를 위한 용어 및 개념 정리

요즘은 인터넷에서 검색하면 왠만한건 모두 검색할 수 있지만 기본 개념등을 한번에 모아서 보기위해 한번 정리해 봤음.
  • 객체지향이란?
  • 데드락이 발생하는원인
  • 스택과 큐의 차이
  • jre와 jvm의 차이
  • 오버라이딩과 오버로딩의 차이
  • 프로세스와 쓰레드의 차이
  • ArrayList, LinkedLsit, Vertor의 차이
  • 추상클래스와 인터페이스의 차이


1. 객체지향이란?
객체지향 프로그래밍 이란 캡슐화, 다형성, 상속 을 이용하여 코드 재사용을 증가시키고, 유지보수를 감소시키는 장점을 얻기 위해서 객체들을 연결 시켜 프로그래밍 하는 것 입니다.
객체 지향 프로그래밍(Object-Oriented Programming)은 컴퓨터프로그래밍의 패러다임중하나이다.
객체 지향 프로그래밍은, 컴퓨터프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위,
즉 "객체"들의 모임으로 파악하고자 하는 것이다.
각각의 객체는 메세지를 주고받고, 데이터를 처리할 수 있다.
실세계의 사물을 추상화(Abstraction) 하고, 캡슐화(Encapsulation) 하며, 계층구조는 상속(Inheritance)시키며, 부모와 다른 자식의 특성, 행위는 다형성(Polymorphism) 으로 구현된 그것, 바로 객체의 구성으로 프로그램을 만들어 나가는 것을 객체지향 프로그래밍 이라 하는 것이죠.
좀더 자세히 알고 싶으면 이곳을 방문해 보세요.

     
2. 데드락이 발생하는원인

   데드락은 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 예를 들어 하나의 사다리가 있고, 두 명의 사람이 각각 사다리의 위쪽과 아래쪽에 있다고 가정한다. 이때 아래에 있는 사람은 위로 올라 가려고 하고, 위에 있는 사람은 아래로 내려오려고 한다면, 두 사람은 서로 상대방이 사다리에서 비켜줄 때까지 하염없이 기다리고 있을 것이고 결과적으로 아무도 사다리를 내려오거나 올라가지 못하게 되듯이, 전산학에서 교착 상태란 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제이다. 이 문제를 해결하는 일반적인 방법은 아직 없는 상태이다.


1971년에 E. G. 코프만 교수는 교착상태가 일어나려면 다음과 같은 네 가지 필요 조건을 충족시켜야 함을 보였다.
  1. 상호배제(Mutual exclusion) : 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 요구한다.
  2. 점유대기(Hold and wait) : 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다린다.
  3. 비선점(No preemption) : 프로세스가 어떤 자원의 사용을 끝낼 때까지 그 자원을 뺏을 수 없다.
  4. 순환대기(Circular wait) : 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다.
이 조건 중에서 한 가지라도 만족하지 않으면 교착 상태는 발생하지 않는다. 이중 순환대기 조건은 점유대기 조건과 비선점 조건을 만족해야 성립하는 조건이므로, 위 4가지 조건은 서로 완전히 독립적인 것은 아니다.

좀더 자세히 알고 싶으면 이곳을 방문해 보세요.
http://blog.naver.com/PostView.nhn?blogId=seraph_0_0&logNo=110029070925

3. 스택과 큐의 차이


4. jre와 jvm의 차이


5. 오버라이딩과 오버로딩의 차이


6. 프로세스와 쓰레드의 차이


7. ArrayList, LinkedLsit, Vertor의 차이


8. 추상클래스와 인터페이스의 차이

댓글 없음:

Fetch links Quick & Easy. Stream and Direct Download. Give it a try at http://seedr.cc now!

  Fetch links Quick & Easy. Stream and Direct Download. Give it a try at http:// seedr.cc now!   Fetch links Quick & Easy. Stream a...