Feature is an abstraction of a natural or man-made real world object. In GeoView features may be related directly or indirectly to a geographic location - an ingredient for building Geographic Information Systems (GIS).
A spatial feature has one or more geometric properties. For example, a road feature might be represented by a line, and a hydrant might be represented by a point. A non-spatial feature does not have geometry, but can be related to a spatial feature which does. For example, a road feature may contain a sidewalk as a non-geometric sub-feature.
For feature data, feature class represents schema element that describes a type of real-world object compliant with specific schema. It includes a class name and property definitions (attributes). If we talked in OOP terms we'd probably called it "element instance" - a single instance of a given element type. Each feature may have 0..n feature properties, or instances of element attributes. By providing inevitable car analogy, we get to the following real-world example:
Feature Class Inheritance
Many real-life objects have attributes and behaviors in common - for example, all cars have wheels and engines, and can roll and (hopefully) stop.
Some cars, however, have attributes that are not common. For example, a convertible has a removable top, which may be lowered electronically or by hand. If you created an object to represent a car, you would want to include properties and methods for all of the common attributes and behaviors, but you would not want to add attributes such as a convertible top, since that attribute does not apply to all cars.
Using inheritance, you can create a "convertible" class that is derived from the car class. It inherits all of the attributes of the car class, and it can add those attributes and behaviors that are unique to a convertible.
Feature Class Attributes
Feature class may get attributed using combination of following flags: