디자이너정님 답변에 조금더 상세한 설명 붙여드리자면.
2번 메소드는 함수 호출시 들어오는 매개변수의 명이
* public void isThreadstate(boolean isPlay) -> 괄호안의 내용이 함수 호출시 들어오는 '매개변수'라고 합니다. boolean 타입의 isPlay라는 이름으로 들어온다는 말.
클래스에서 선언된 private boolean isPlay 와 이름이 isPlay로 같죠
그렇다면 isThreadstate메서드 내에서는 변수명(isPlay)만 적어줬을때엔 매개변수로 우선인식 합니다.
This를 붙여주면 클래스에 선언되어 있는 isPlay변수에 접근할 수 있는 것이구요.
다른 1,3메서드의 경우에는 메서드 옆에 괄호가 비어있기 때문에 호출시 매개변수가 필요하지 않고, isPlay라는 변수명을 사용한다면 자연스레 클래스의 변수에 접근하기 때문에 this가 필요하지 않는겁니다.