Inheritance enables code reusability by allowing new classes to inherit properties and methods from existing classes, which saves program development time. Data hiding is primarily achieved through encapsulation (access specifiers), not inheritance. The advantage combines both A and B - you get reusable code that reduces development effort.