Secondo la mia interpretazione, quel "fattorizzare" può stare per "assegnare", "delegare" o anche "accomunare", "raggruppare".
In una classe astratta ci possono essere metodi "concreti" che possono o non possono (se marcati final) essere ridefiniti. E ci possono essere metodi abstract che invece devono essere ridefiniti, perché si presuppone che il "design" della classe sia tale per cui il "vero" lavoro da svolgere deve essere implementato in modo specifico in una sottoclasse.
Prendiamo un esempio abbastanza calzante. La classe java.io.InputStream è astratta. Ha diversi metodi, di cui però solo 1 è astratto:
public abstract int read()
Gli altri sono tutti "concreti" e quindi implementati (anche solo vuoti o con un comportamento particolare di "default").
Se vuoi estendere InputStream tecnicamente sei obbligato a ridefinire solamente questo metodo read() che legge 1 byte per volta. Gli altri 2 metodi che leggono un blocco di byte sono già implementati in InputStream in termini di utilizzo del read() che legge 1 byte per volta.
Se vuoi (quindi è opzionale) per questioni di performance puoi ridefinire anche gli altri read() che leggono un blocco di byte.