감사합니다. 덕분에 차이를 알게 되었습니다.
문 님이 쓰신 글 :
: B가 A한테가서 직접 사과를 받아오냐.[B는 A를 알아야함(include)]
: A는 G한테 사과를 건네주고 B는 G한테 사과를 받아오냐[A랑 B는 서로 몰라도 됨 각자G만 알면됨(include)]
: 차이인데...
:
: 둘다 결과는 같겠지만. 결합도(coupling)로 보면.
: 첫번째는 데이터 결합 (낮은결합)
: 두번째는 공통 결합 (높은결합)
:
: https://terms.naver.com/entry.nhn?docId=3532987&categoryId=58528&cid=58528#TABLE_OF_CONTENT4 (결합도 참고)
:
: 개발스타일 차이겠지만 일반적으로
: a.cpp를 거쳐서 수시로 변하는 값이라면 바로 b한테 주면되지
: 전역변수에 담아서 전달할 필요는 없다고 봅니다만..(결합도는 낮게 응집도는 높게)
:
: 하지만 상황에 따라 달라질수 있겠죠. 예를들어 가계부프로그램에서 몇개년치의 자료를 누적해서 관리하고 있는데
: 통계 조회기간을 2019년을 선택(A.cpp)했다면 두번째와 같이 전역변수gi_Value = 2019 에 담고 갖고 오는것도 나쁘지 않다고 봅니다.
: 여러통계 페이지(B.cpp C.cpp등) 에서 공통된 변수(2019)년 자료를 조회해야하니..
:
: 프로그램을 개발할때 요구사항분석과 설계를 잘 해야하는 이유죠..
:
: http://soen.kr/ <-C 공부하신다니 유용할만한 사이트 링크걸어드려요.
:
: 질문드립니다 님이 쓰신 글 :
: : 안녕하세요.
: : c++ 공부를 하고 있습니다.
: :
: : 코드를 짜다가 클래스가 여러개인 프로그램에서 각 클래스별 객체를 만들고 Main 혹은 변수 전달이 필요한 부분마다 include를 해서 변수를 전달하는 것과 전역변수용으로 헤더를 만든 뒤 특정 클래스에서 사용하는 것의 차이가 무엇일까요?
: :
: :
: : 예를들어 A.cpp와 B.cpp가 있을 때
: :
: : A.cpp 안에는 A클래스와 맴버변수 변수가 있습니다.
: : B.cpp도 마찬가지로 B클래스가 있는데 여기서 int i_bIndex = a.변수; 를 사용하는 것과
: :
: : A.cpp ,B.cpp G.hpp에서
: : A.cpp에서 gi_Value = 변수; (int gi_Value는 G.hpp에 존재)
: : B.cpp에서 int i_bIndex = gi_Value;
: :
: : 이 둘의 차이점이 무엇인가요
|