Each UCLASS that you declare can have any number of UPROPERTY declared for it within it. Each UPROPERTY can be a visually editable field, or a blueprints-accessible data member of the UCLASS.
There are a number of qualifiers that we can add to each UPROPERTY, which change the way it behaves from within the UE4 Editor, such as EditAnywhere (specifying that the UPROPERTY can be changed through code or in the editor), and BlueprintReadWrite (specifying that blueprints can both read and write the variable at any time, in addition to the C++ code being allowed to do so).