C JAVA 절차지향 언어 객체지향 언어 유지보수 어려움, 꼬이게 되면 순차적으로 수정 유지보수 용이, 해당 객체만 찾아 수정 실행/처리 속도 빠름 상대적으로 느린 속도 임베디드 또는 운영체제처럼 속도나 용량 등에서 최적화가 필요한 곳에서 주로 사용 웹 사이트나 운영체제와 상관없이 실행되어야 하는 응용SW, 안드로이드 앱 등에서 사용 안정성 & 확장성이 상대적으로 낮음 안정성 & 확장성이 상대적으로 높음 메모리를 직접 조절하여 메모리 낭비가 적음 각각의 클래스로 인해 메모리 낭비가 높음