This book constitutes the refereed proceedings of the 20th European Conference on Object-Oriented Programming, ECOOP 2006, held in Nantes, France in July 2006.The 20 revised full papers, presented together with 3 keynote papers were carefully reviewed and selected from 162 submissions. The papers are organized in topical sections on program query and persistence, ownership and concurrency, languages, type theory, types for object-oriented languages, tools, and modularity. In addition there are 5 retrospective and prospective papers from a special 20th anniversary session for the ECOOP conference series.