Si chiama "operatore condizionale". Se proprio vuoi, puoi "vederlo" come una forma compatta di if ma sono comunque due cose diverse: if è una istruzione, ? : è un operatore con associatività da destra a sinistra. E hanno regole ben diverse.