카테고리 없음

객체지향과 절차지향

아토퓌 2020. 2. 9. 16:29

C, C++ VS Java의 차이는 ? 
우선 C,C++은 OS가 달라지면 프로그램이 동작하지 않을 수도 있다는 단점이 있다.

이를 보완한 JAVA는 OS 위에 JVM이라는 가상머신에서 동작을 하기 때문에, OS에 제약이 없는 것으로 알고 있다. 

 

C++, JAVA VS C의 차이는 ? 
우선, 절차지향은 이름과 같이 순차적인 처리가 중요시 되며, 컴퓨터의 작업 처리 방식과 유사하게 설계하기 때문에 완성이 되면 매우 빠르다는 특징을 가지고 있습니다. 
하지만, 컴퓨터가 이해하기 쉽게 되어있기에 유지보수의 어려움, 코드의 순서가 바뀌면 동일한 결과가 나오지 않는 어려움, 디버깅의 어려움 등이 있습니다. 
반해, 객체 지향은 조립의 방식으로 만들어져있고 이로 인해 캡슐화(데이터 보존 은닉화를 의미) , 상속(코드의 재활용성), 다형성이라는 특징을 가지고 있습니다.

JAVA VS C++의 차이? (가비지 컬랙션*)

JVM이라는 기능 때문에 메모리를 자동관리 해주는 기능이 C++과의 또 다른 차이점이다.

 

또한 자바는 다중상속을 하지 않는다. 대신 비슷한 역할을 해주는 interface가 있다. 

요약 정리 )  
절차지향( 컴퓨터 중심-> 빠르다 -> 순서에 영향 -> 디버깅의 어려움 ) 
객체지향( 인간 중심, 재사용성이 좋음, 디버깅 쉽고 유지 보수 용이, )
특징:  SRP(단일 책임 , 클래스 하나에 하나의 책임) 
        OCP( 확장엔 열려있지만, 변경엔 닫혀 있음)
OOP의 특징: 다형성 / 추상화 / 캡슐화(정보은닉)