I'm not talking about any language-specific OO words (static, private, etc.).
If you have a method that doesn't need access to any non public fields, properties or methods where should you put the method ?
If the code is not related with any class in your domain, then it can be a simple function, outside a class scope. A dumb example is factorial or even fibonacci, either just receives a value and computes a result, doesn't belonging to any class in special.
If the code is some kind of
factory or has something else related with a certain class, then it can be a static or class method, or even another class.
It's important to note that if your language allows pure functions, not just classes and methods, then you can take advantage of it and make your design more simple (for me, it's one of the major drawbacks of the Java language, but it's just my personal opinion).