Object Oriented CSS (OOCSS) is a methodology for writing CSS that promotes reusability and reducing redundant code. It involves separating layout styles from visual styles, and container styles from content styles. This allows the same CSS classes to be reused in different contexts. OOCSS also advocates building pages with semantic HTML and reusable base styles. CSS preprocessors can help, but require care to avoid generating bloated code that goes against the principles of OOCSS.