포인터 기본 

 & 변수명 : 어느 곳에 위치해있는지 주소값

* 포인터 변수명 : 해당 주소에 위치한 변수값 

따라서, 

p = &a 주소값을 의미하고, *p = a 변수값을 가리킨다. 



포인터를 사용하는 방식에는 주소에 의한 전달방식과 참조에 의한 전달방식이 있다. 


▶ 주소에 의한 전달방식으로 절댓값 구하는 함수 생성 

return값 없어 함수에서만 변환값 출력 가능 

#include 
using namespace std; 
void absolute(int *abs); 
void main() {
   int a = -10; 
   absolute(&a); 
   cout << "main에서 함수 호출 후 a값 = " << a << "\n"; 
}

void absolute(int *abs) {
   if (*abs < 0)
      *abs = -*abs; 
}




▶ 참조에 의한 전달방식으로 절댓값 구하는 함수 생성 

참조 변수는 선언할 때만 일반 변수 선언과 달리 변수명 앞에 &기호를 붙일 뿐 프로그램 상에서는 일반 변수를 동일하게 사용한다. 

#include

using namespace std; void absolute(int &a); void main() { int a = -10; absolute(a); cout << "main에서 함수 호출 후 a 값 = " << a << endl; } void absolute(int &a) { if (a < 0) a = -a; }

소스를 보면 둘의 다른 점을 알 수 있을 것 같아 예시부터 제시했다. 물론 두 코딩의 결과는 동일하다. 

늦은 포스팅이 되었다. 목표는 매주 과제를 끝마치고, 복습 겸 블로그에 포스팅까지 마치는 것이였는데 포인터를 하면서 무너지게 되었다... 

어마무시한 포인터와 관련한 포스팅은 [함수]편 바로 다음에 올라갈 예정이다! 



함수의 장점은 반복 실행해야만 하는 내용을 필요할 때마다 호출해서 사용 가능하고, 프로그램의 기능 및 구조를 알아보기 쉽다는 점 ! 

함수를 선언할 때에는 함수 정의 전 호출이 되었다면 그 함수를 main 함수 위에 반드시 선언 후 호출해야한다. 예를 들어보겠다. 

#include

using namespace std; bool isEven(int n); void main() { int n; cout << "짝수, 홀수를 판별할 숫자를 입력하세요->"; cin >> n; if (isEven(n)) cout << "입력하신 숫자는 짝수입니다." << endl; else cout << "입력하신 숫자는 홀수입니다." << endl; } bool isEven(int n){ if (n % 2 == 0) return true; /* 부울형의 사용법 : 짝수가 맞으면 true */ else return false; /* 짝수가 아니라면 false 출력 */ }


위와 같이 main() 함수에서 아직 정의되지 않은 isEven(int n)함수를 호출했으므로 반드시 main() 위에 부울형 함수인 bool isEven(int n)을 선언해주어야 하는 것이다. 



이번에는 함수가 main함수보다 먼저 입력된 경우를 살펴보자. 

#include
using namespace std;

double avg(int a, int b) {
	double s;
	(double)s = ((double)a + (double)b) / 2; 
	return s; 

}
void main() {
	int a, b; 
	double res; 
	cout << "숫자 두개를 입력하세요:"; 
	cin >> a >> b; 
	res = avg(a, b); 
	cout << "평균 : " << res << endl; 
}

위의 코드는 굳이 함수를 먼저 선언하지 않아도 된다. 여기서 return s;에 주목해보자!

함수의 실행결과를 반환하고자 할 때에는 return문을 사용하는데 기본 형식은 return 식;이다. 

또한, 함수를 호출할 때 기술되는 실 매개변수와 함수를 정의할 때 기술되는 형식 매개변수, 이 두 변수명이 꼭 동일할 필요는 없다. 어차피 전혀 다른 기억공간이 따로 할당되어 값을 복사하기 때문이다. 




  정보화 시대에 스마트 폰 이용자가 급부상하면서 '(APP) 만들기'에 대한 관심도도 함께 높아지게 되었어요. 앱을 만드는 데에는 주로 개발자와 디자이너들의 협업이 이루어지는데요. 앱이나 웹 제작 시 디자이너들의 필요성에 대하여 의문을 갖는 사람들도 있어요. 복잡한 개발 과정을 거쳐 비로소 사용자가 원하는 서비스를 구현하기 직전에, 디자이너들은 서비스의 질적 향상을 위해 더 나은 화면을 구상하는 역할을 합니다. 이러한 사람들을 우리는 UI/UX 디자이너라고 칭합니다.

 

  먼저 생소한 용어인 UI, UX의 뜻부터 알아볼까요? UI(User Interface) '유저 인터페이스'의 약자로서, 사용자들이 컴퓨터 프로그램 내에서 데이터 입력이나 동작 제어 시 사용하는 명령 기법을 말합니다. 쉽게 말하자면, 프로그램과 사용자의 의사소통을 편리하게 만들어주는 것을 의미해요. UX(User Experience) '사용자의 경험'을 뜻하는데, 사용자가 어떠한 제품 또는 서비스를 이용할 때에 갖게 되는 총체적 감정을 가리킨다고 해요. UI가 사용자의 편리성을 위한 것이라면, UX는 그 프로그램을 사용했을 당시 느끼는 만족감의 정도를 표현하는 것이니 UI UX의 매개체가 된다고도 볼 수 있겠네요


▶UI, UX가 적용된 아이폰 화면


  그렇다면 UI/UX 디자이너가 하는 일이 무엇인지 알아볼까요? UI 디자이너의 주 업무가 화면 설계 및 구성이라면 UX 디자이너는 고객이 요구하는 점을 파악하고, 그 서비스를 어떻게 하면 더 고객의 마음에 들게끔 제공할 수 있을지를 최우선으로 둔다고 합니다. UX를 통해 우리는 어떤 점을 고쳐야 하고 어떤 부분에 더욱 유념하여 화면을 구성해야 하는지에 대한 피드백을 받을 수 있어요. 이렇기에 두 디자이너 간의 협업을 통한 시너지 효과가 가장 중요해요


  위의 두 가지 목표를 충족시킨 좋은 화면 구상은 주변에서 쉽게 찾아볼 수 있어요. 우리가 자주 사용하는 화면의 상단, 좌측에 위치한 단축 메뉴 키들의 깔끔한 디자인과 적절한 배치에 편리함을 느꼈다면 이것이 바로 UI/UX 디자인의 숨은 노력이랍니다. 이 예로는, 상대의 프로필이 입력된 스크린 창에 통신 수단인 통화, 메세지 아이콘이 함께 뜨는 것을 들 수 있어요. 또한 건강관리 (Health)앱 속에 녹색 바탕과 걸음 수 표시로 바탕화면을 구성하여 앱의 특성을 잘 나타내는 디자인을 보여주기도 합니다.



  UI/UX의 기능이 단순히 웹 또는 앱에서만 보여지는 것은 아니에요. 우리가 보는 모든 화면은 디자인되어 나오는 것이니까요. 최근에는 회원가입을 유도하는 UX 디자인, 메인 페이지를 장식할만한 UX 디자인 등등 다양한 목적을 위해 진행되는 UX 강의들도 앱 디자이너들에게 주목 받고 있어요.

 

  앞으로도 더욱 더 많은 쓰임으로 우리의 생활을 윤택하게 해줄 UI/UX의 의미와 그 기능 그리고 UI/UX 디자이너의 역할까지 알아보았는데요. 유용한 앱을 뒷받침하는 좋은 디자인 뒤에 숨긴 노고를 우리 모두 알고 누렸으면 좋겠습니다. 




이 기사는 2016년 하반기에 썼던 원고이다. 

지난 2-2학기부터 듣고 있는 게임 이론 수업에서 여러번 느꼈던 점이지만 개발자에게도 기획, 디자인의 이해가 중요하다는 것을 수업으로 몸소 느낀다. 게임을 할 때에 한 번쯤이라도 

빨간 버튼이 왜 여기에 있는거지? 

라고 생각해본 적이 있는지 ... 

요즈음은 게임 이론 수업에서 사람들의 게임 수요가 어디에서 일어나는지를 확실히 배우고 있다.

내가 어떤 게임을 만들고 싶다에 대한 프라이드보다는 사람들이 어떤 게임을 원하는지 알아내는 것이 현명하다는 생각을 해본다. 



※ 위 기사는 한국전력 공식 블로그 KEPCO에 컨펌을 받은 후 선택적으로 기재되었으며 이 글은 제가 작성한 초안을 그대로 올린 것입니다. 개인적으로 저에게도 좋은 귀감이 되어 따로 블로그에도 저장해두려고 합니다.  




   최근 '융합'이란, 사전적 의미에서 벗어나 현대 사회를 이끌어가는 하나의 키워드로서, 융합의 이해를 권장하고, 학문적 또는 기술적인 융합을 통하여 새로운 것을 창출해내고자 하는 많은 시도들이 이루어지고 있어요. 융합을 통해 새로운 빛을 발하고 있는 선두주자에는 '금융' 'IT'의 융합인 '핀테크(Fintech)' 산업이 있는데요. 융합의 적절한 사례라고 볼 수 있는 핀테크에 관하여 함께 알아보도록 할까요?

 

   이제껏 금융 기관은 독자적인 시스템 체계로 금융 관리의 전반적인 업무를 해냈습니다. 하지만 현대 사회 속 금융 데이터는 감당할 수 없을 정도로 범위가 늘어나면서 더더욱 정확성과 신속성을 요구하고 있는데요. 이 방대한 데이터를 IT 기술로 전산화하여 효율적으로 관리할 수 있도록 하는 것이 핀테크 산업의 핵심입니다. 더불어 IT 기술을 활용하여 금융 서비스를 간소화하면서 이는 더욱 주목 받기 시작하였어요



   이렇게 편리성을 부각시킨 사례 외에도 개인 금융정보 또는 소비자의 온라인 활동을 데이터로 전산화하여 금융 거래 데이터 분석이 용이해졌어요. 물론 아직은 개인 정보와 관련한 법적인 규제로 인해 데이터 분석 결과를 이용한 새로운 산업 창출에 불리함이 있으나 머지않아 더욱 활발한 핀테크 산업의 진출을 기대할 수 있을 거에요.

 

   여러 정보 유출 사건을 겪으며 걱정 속에 산업의 발전이 더디게 된 우리와는 달리, 해외 핀테크 시장은 이미 몇 년 전부터 활기가 가득합니다. 이와 관련한 회사에 많은 투자금이 들어오고 있고, 그들은 성공 사례를 만들기 위해 노력하고 있어요. 해외의 핀테크 산업은 결제 서비스 뿐만 아니라 은행 대신 대출 서비스를 제공하기도 합니다. 회원의 공개 데이터를 분석해 신용도를 평가한 후, 물건 구매를 신용 카드가 아닌 본인의 신용 등급으로 할 수 있도록 하는 서비스도 생겨났고요. 이러한 회사들은 자신들만의 알고리즘을 활용하여 믿을 만한 강도 높은 서비스를 제공함으로써 각광받고 있습니다.



   앞으로의 핀테크 산업은 송금, 결제 외에도 대출 중개, 자산 관리 등등 은행이 다루고 있는 전산적인 서비스를 금융 기관과 협업하여 더욱 효율적이고 간편하게 만들 수 있을 것으로 예상되는데요. 우리에게도 IT 기업의 금융 시장 진출을 우려의 시선으로 바라보는 것만이 아닌 새로운 융합의 도전으로 받아들이고, 두 분야가 상생할 수 있도록 좋은 비판을 내어주는 자세가 필요할 것 같습니다. 



※ 위 기사는 한국전력 공식 블로그 KEPCO에 컨펌을 받은 후 선택적으로 기재되었으며 이 글은 제가 작성한 초안을 그대로 올린 것입니다. 개인적으로 저에게도 좋은 귀감이 되어 따로 블로그에도 저장해두려고 합니다.  




   개인의 여가 시간을 존중하는 사회가 도래하면서 운동, 문화, 여행 등등 삶의 질을 높일 수 있는 다양한 여가가 주목 받고 있어요. 자신의 취향에 맞는 여가를 찾기 위해 문화 구석구석까지 사람들의 손길이 뻗치고 있는데요. 영화 매니아들은 상업 영화 뿐 아니라 독립 영화의 작품성을 알아보게 되었고, 음악을 사랑하는 사람들은 기획사에 속해 있지 않은 독특한 음색을 가진 인디 노래를 즐겨 듣기도 해요. 그런데 게임에도 이와 같은 세계가 있다는 걸 아시나요? 언제나 꾸준히 유저들의 반응을 불러 일으키는 작지만 강한 게임, '인디 게임'의 세계 속으로 여러분을 초대할께요

 

▶ 주목받고 있는 인디 게임 '페즈'

   인디 게임은 '인디 = 독립적인' 이라는 뜻으로, '기성의 자본에 의존하지 않는 게임'이라 칭합니다. 기업의 간섭을 최대한 배제하기 때문에 개발자들은 진정 내가 만들고 싶은 게임을 독창성 있게 꾸며낼 수 있어요. 인디 게임이 만들어지는 과정은 2011년 작 다큐멘터리 '인디 게임'에서 상세히 보여지는데요. 그저 게임이 좋아서 게임을 만들기 시작한 개발자들이 '페즈'라는 게임을 내기까지의 고난이 영화 속에 고스란히 녹아있어요. 한 개의 몸으로 여러 일을 감당해야 하니 개발의 자유에는 그만큼 고생이 뒤따른다는 것을 일깨워주네요


   국내외에서 주목 받고 있는 인디 게임에 대하여 이야기 해볼까요? 작년에 출시된 '거지 키우기'라는 게임을 아시는지요. 이 게임은 출시 후 100만 다운로드를 기록하며 여느 상업 게임에 못지 않은 인기를 누렸어요. 버튼 하나로 배경을 클릭하여 코인을 모으고, 이렇게 거지를 부자로 만드는 이 단순한 게임은 특유의 신선한 설정으로 유저들을 열광하게 했어요. 인디 게임사 SUD가 만든 자동차 시뮬레이션 '주행의 달인'은 자그마치 1억 다운로드를 넘긴 모바일 게임의 강자입니다.

 

   현재로서는, 국내 개발자 대부분이 유통이 어려운 우리 나라보다 해외를 선호하는 경향이 있어요. 항상 자금이 부족한 인디 게임 개발자들은 '킥스타터'라고 불리는 미국 소셜 펀딩 사이트에 자신들의 게임 아이디어와 게임 데모판을 출시하여 모금을 받기도 해요. 국내의 유통망을 큰 게임사들이 독점하지 않도록 유저들을 포함한 많은 사람들의 관심이 필요한 것이 사실이에요.



   이러한 사태를 넘어설만한 긍정적인 변화도 눈에 띄는데요. 현재 이전보다 많은 게임 행사 또는 공모전들이 개최되어 개발자의 입지를 다지는데 도움이 되고 있어요. 2016 10, 국내 1인 게임 개발자인 Somi가 개발한 '레플리카(Replica)'가 세계 인디 게임 축제인 '인디케이드 2016'에서 '임팩트 어워드'를 수상한 것은 국산 게임이 해외에서 작품성을 인정 받은 훌륭한 사례에요. 또한, '2016 글로벌 인디 게임제작 경진대회'가 어마어마한 상금을 걸고 개최된다는 소식도 있어 소규모 개발자들의 마음을 설레게 하는데요. 대상 수상작에는 상금과 함께 해외 홍보를 지원해 준다고 하니 이만한 혜택이 또 없겠죠


 


   게임을 즐기는 유저는 많지만 많은 유저들이 빠른 출시, 최고의 보상 서비스에만 목숨 걸고 더욱 좋은 개선을 요구하고 있는 아이러니한 현실. 이러한 현실 속에서 홀로 고군분투하는 인디 게임 및 소규모 게임 사업 전반에도 따뜻한 관심을 갖고 둘러볼 줄 아는 진정한 게임 매니아가 되길 바랍니다



※ 위 기사는 한국전력 공식 블로그 KEPCO에 컨펌을 받은 후 선택적으로 기재되었으며 이 글은 제가 작성한 초안을 그대로 올린 것입니다. 개인적으로 저에게도 좋은 귀감이 되어 따로 블로그에도 저장해두려고 합니다. 


+ Recent posts