Introduced in Macromedia Flash MX 2004, ActionScript 2.0 was Macromedia's first move towards bringing ActionScript closer to an Object-Orientated Langauge. It added several new OOP features. ActionScript 2.0 added several new core classes. With this version also came the ability to declare classes in external files and link them at compile time. Naturally, different types of classes were added: the intrinsic class and the dynamic class. AS2 added partial support for public and private methods and variables; unfortunately, members declared as private are not actually protected. Support for getter and setter methods was added.
ActionScript 2.0 added the option of having strongly-typed variables and functions. This was up to the developer; only the variables actually declared as such would behave as that type, and not every variable had to be typped. However, this was a major improvement over AS1, which featured no type-checking at all.