C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75680] Re:전역변수를 헤더로 빼는 것과 클래스의 맴버변수 호출에 무슨 차이가 있나요?
[] 2257 읽음    2019-11-05 10:05
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;
:
: 이 둘의 차이점이 무엇인가요

+ -

관련 글 리스트
75679 전역변수를 헤더로 빼는 것과 클래스의 맴버변수 호출에 무슨 차이가 있나요? 질문드립니다 2165 2019/11/04
75680     Re:전역변수를 헤더로 빼는 것과 클래스의 맴버변수 호출에 무슨 차이가 있나요? 2257 2019/11/05
75682         Re:Re:전역변수를 헤더로 빼는 것과 클래스의 맴버변수 호출에 무슨 차이가 있나요? 질문드립니다 2260 2019/11/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.