싱글톤은 하나만 존재하면 다 되는 걸까? 아니면 거기에 더해서 하나는 존재해야 하는 걸까?
instance가 null이면 새로 생성해주는 코드들이 인터넷에 종종 보여서 궁금해졌음
댓글 25
이미 있으면 자폭하는 코드도 있는데
bowmore(qcs5jom3x9tq)2024-08-13 12:26:00
답글
감테 ㄷㄷ
호시타(posita)2024-08-13 12:30:00
단 하나만 보장. 이면 뭐든되는거아녀?
익명(tmxpffkwid)2024-08-13 12:37:00
답글
없을수도 있지만 있으면 무조건 하나만 있는게 보장된다가 맞겠지?
호시타(posita)2024-08-13 12:54:00
답글
아니 무조건 하나는 있어야지 0도 2도 아닌 1
익명(tmxpffkwid)2024-08-13 13:19:00
해당 댓글은 삭제되었습니다.
해당 댓글은 삭제되었습니다.2026-06-30 02:01:03.863127
답글
만능(유지보수 떡락)
호시타(posita)2024-08-13 12:55:00
해당 댓글은 삭제되었습니다.
해당 댓글은 삭제되었습니다.2026-06-30 02:01:03.863322
답글
처음 시작할 때 instance를 만드는 애들은 그냥 static 박아도 무관한 거 아님?
호시타(posita)2024-08-13 12:54:00
답글
싱글톤과 스태틱클래스는 초기화 순서 정해줄 수 있는 거 차이 말고 더 있나?
호시타(posita)2024-08-13 13:11:00
답글
그르네 인터페이스도 있긴 하네
조금 더 빠른 거야 와닿지는 않아서 그렇다 치는데...
근데 싱글톤에 인터페이스 다는 건 초기화 완료 인터페이스 빼는 거 말고 못 봤는데 다른 예시 있음??
호시타(posita)2024-08-13 13:17:00
답글
모노비헤이비어를 못쓰잖슴?
211214(tomatoss)2024-08-13 13:18:00
답글
모노를 쓸 필요가 있나?
호시타(posita)2024-08-13 13:22:00
답글
업데이트문 쓰는 매니저들은 필수 아님? 뭐.. 전 배우기를 이렇게 배워갖고...
211214(tomatoss)2024-08-13 13:24:00
답글
나는 싱글톤에서 유니티 메서드를 쓴 적이 없었어갖고... 물론 처음 시작할 때 만들어지는 놈들이 아니면 스태틱 박지는 않음
호시타(posita)2024-08-13 13:41:00
답글
짜잘한 콜백 담당해주는 놈 만들어두면 두트윈 딜레이드콜처럼 쓸 수 있어서 좋은뎀
211214(tomatoss)2024-08-13 13:55:00
씬마다 새로 생성하는 놈, 게임 실행 내내 살아있는 놈 이렇게 구분해서 쓰는디
211214(tomatoss)2024-08-13 13:13:00
답글
씬마다 생성하는 애는 그냥 씬 아래 컴포넌트로 달아줘....
ㅇㅇ 2(211.107)2024-08-13 14:22:00
답글
에 어떤 차이가 있는 거죠
211214(tomatoss)2024-08-13 14:35:00
스태틱클래스도 싱글톤으로 껴죠
ㅇㅇ 1(211.221)2024-08-13 13:24:00
답글
게임매니저나 타이머매니저를 스태틱클래스로는 못만들지 않슴? 생명주기도 관리 못하고 이벤트도 주고받을 수 없고 변수 변경(?)도 안되고..
211214(tomatoss)2024-08-13 13:28:00
나라면 싱글톤은 써도 되지만 불변 상태를 유지하라는 조언을 하고 싶다.
불변 상태의 예시는 Lua의 모듈인데, 이미 싱글톤과 비슷한 방식으로 작동하고 있음. 근데 프로그램 한 곳에서 모듈의 일부를 바꾸면 프로그램 전체에도 수정 사항이 전파되기 때문에 싱글톤은 가능하면 불변 상태로 두는게 바람직하다고 생각함.
토끼주문(icyselec)2024-08-13 13:48:00
답글
String마냥
호시타(posita)2024-08-13 14:34:00
답글
여담으로 Lua의 string은 불변인데 LuaJIT의 FFI를 쓰면 강제로 수정할 수 있음 ㅋㅋ
이미 있으면 자폭하는 코드도 있는데
감테 ㄷㄷ
단 하나만 보장. 이면 뭐든되는거아녀?
없을수도 있지만 있으면 무조건 하나만 있는게 보장된다가 맞겠지?
아니 무조건 하나는 있어야지 0도 2도 아닌 1
해당 댓글은 삭제되었습니다.
만능(유지보수 떡락)
해당 댓글은 삭제되었습니다.
처음 시작할 때 instance를 만드는 애들은 그냥 static 박아도 무관한 거 아님?
싱글톤과 스태틱클래스는 초기화 순서 정해줄 수 있는 거 차이 말고 더 있나?
그르네 인터페이스도 있긴 하네 조금 더 빠른 거야 와닿지는 않아서 그렇다 치는데... 근데 싱글톤에 인터페이스 다는 건 초기화 완료 인터페이스 빼는 거 말고 못 봤는데 다른 예시 있음??
모노비헤이비어를 못쓰잖슴?
모노를 쓸 필요가 있나?
업데이트문 쓰는 매니저들은 필수 아님? 뭐.. 전 배우기를 이렇게 배워갖고...
나는 싱글톤에서 유니티 메서드를 쓴 적이 없었어갖고... 물론 처음 시작할 때 만들어지는 놈들이 아니면 스태틱 박지는 않음
짜잘한 콜백 담당해주는 놈 만들어두면 두트윈 딜레이드콜처럼 쓸 수 있어서 좋은뎀
씬마다 새로 생성하는 놈, 게임 실행 내내 살아있는 놈 이렇게 구분해서 쓰는디
씬마다 생성하는 애는 그냥 씬 아래 컴포넌트로 달아줘....
에 어떤 차이가 있는 거죠
스태틱클래스도 싱글톤으로 껴죠
게임매니저나 타이머매니저를 스태틱클래스로는 못만들지 않슴? 생명주기도 관리 못하고 이벤트도 주고받을 수 없고 변수 변경(?)도 안되고..
나라면 싱글톤은 써도 되지만 불변 상태를 유지하라는 조언을 하고 싶다. 불변 상태의 예시는 Lua의 모듈인데, 이미 싱글톤과 비슷한 방식으로 작동하고 있음. 근데 프로그램 한 곳에서 모듈의 일부를 바꾸면 프로그램 전체에도 수정 사항이 전파되기 때문에 싱글톤은 가능하면 불변 상태로 두는게 바람직하다고 생각함.
String마냥
여담으로 Lua의 string은 불변인데 LuaJIT의 FFI를 쓰면 강제로 수정할 수 있음 ㅋㅋ
음 모두 구현 방식이 천차만별이구낭