We can't really answer this question for your specific game without knowing your game mechanics in detail.
In broad terms, what makes a character/class interesting is uniqueness. Ignoring story/personality and focusing entirely on game mechanics, there are several ways to make a class unique and interesting in an RPG:
With stats
Significant changes in stats can help make a class unique. For example, the attacker might have high strength and low defense, while the tank has low strength and high defense, and the ninja has low attack and defense but high speed. However, stat changes alone are not usually enough to make a class interesting; they should be combined with other approaches.
With abilities
Unique and memorable abilities are often the best way to make your classes interesting. This can be approached in different ways; in some games, each class has its own set of unique abilities that aren't available to any other class. In other games, different classes might mix-and-match from a general set of abilities, but also each have at least a few unique abilities.
Abilities often take the form of special actions that the class can take during combat. Some examples:
- Cleave: Attack one target, ignoring the target's armor.
- Sweeping Strike: Attack all enemy targets.
- Defend: Protect one ally from attack, receiving attacks that targeted that ally.
- Rejuvenating Rain: Heal all allies slightly.
Active abilities often have a cost (e.g. MP, AP) or a cooldown so that the player can't use them every round.
You can also have passive abilities which are always active, such as:
- Hearty: Restore 5 HP each round.
- Fireproof: Immune to fire attacks.
- Swordmaster: +1 damage with swords.
With equipment
Another way to distinguish between classes is with the equipment (armor, weapons, and accessories) that they have available.
A classic approach (seen in many JRPGs I think) is that each class has its own entirely unique set of gear. The mage can only wear mage armor and carry mage weapons, the fighter can only wear fighter armor and carry fighter weapons, etc. In my opinion, this doesn't actually make classes more interesting. It just adds a little bit of tedium (having to acquire separate gear for each class) without giving the player any freedom to customize their play style. In some cases it's maddening ("what, my mage can't even put on a helmet?"). It also may not work well in a true roguelike where RNG means that the player could potentially not be able to find any gear for a specific class.
Personally, I find restrictions much more interesting. Some examples:
- There are three categories of armor (light, medium, and heavy). The mage can only wear light armor, the fighter can wear light or medium armor, and the tank can wear any class of armor. You might have a speed penalty for heavier armor so that there's a reason not to always put each class in the heaviest armor available.
- Any class can use a sword, but only mages and healers can use a wand, and only fighters and tanks can use a shield.
By not limiting each class entirely to its own unique gear, we give the player some freedom to customize their party.
We may still want to have a few unique legendary items that can only be equipped by a specific class; for example, only the cleric can equip the Divine Sword of Retribution.