반응형

 

안녕하세요? 프로그래밍 언어 공부하고있는 MarShall™ 입니다.
이번에는 증가 연산자 중 전치, 후치 요 두놈에 대해 포스팅할려구 합니다.
저도 아직 초보 딱지를 떼지 못한 상태이다보니, 배워가면서 포스팅해볼까합니다.

☞ 1. 증가연산자 - 전치, 후치의 개념

  전치, 후치는 별거 없습니다. 말 그대로 연산자 기호 ++ 나 -- 가 앞에 있으면 전치(), 뒤에 있으면 후치(後値)가 되는 것입니다. 막상 a++ 이나 ++a 둘 다 써도 "a 값에 1씩 더한다"는 기본 개념 또한 완전 똑같습니다. (반대의 경우도 마찬가지입니다.)

 다만, 증가(++) 및 감소(--)의 시점에 따라 연산을 수행하는 방식이 다를 뿐입니다.
"전치"의 경우는 변수를 참조하기 전에 제일 먼저 연산을 수행합니다. 쉽게 생각해서 일반적으로 흔히 쉽게 생각하실 수 있는 방식입니다. 즉, a 값이 1인 상태에서 a++을 실행시키면, 곧 바로 a값에 1증가가 된 결과값인 2가 출력되어 나옵니다.

 하지만 "후치"는 변수를 참조한 이후에 연산을 수행합니다.
즉, 일단 b 값을 먼저 대입(출력) 한 뒤, 메모리 상에서 미리 1값을 증가시켜서 b 값에 대입합니다. 그러므로, 연산자를 b++로 하셨으면, 먼저 기존 b 값이 출력됩니다. 그 뒤에야 비로소 그 값에 1을 증가시키는 방식인거죠.

 제가 글을 적어보고도 쉽게 쓰기가 어렵네요.
이럴땐 직접 프로그래밍하셔서 실행해보시는게 가장 빠릅니다.


☞ 2. 직접 작성한 프로그램 및 소스코드

 윈도8 컨슈머 프리뷰에서 설치해서 실행해본 스크린샷입니다.
안그래도 윈도8에 익숙해지는것도 재미가 있을거 같아서 말입니다 ^^
직접 코드 작성해서 돌려본 스크린샷인데, 그나마 좀 더 이해하시는데 도움이 되실려나요?

class numUpDown {
 public static void main (String [] args) {
 int a=1, b=1;
 System.out.println("[증가 연산자] - 전치와 후치의 차이 알아보기");
 System.out.println("[변수 선언 및 초기화] a = "+ a +" , b = " + b);
 System.out.println("==============================================================================");
 System.out.println(" [증가 연산자] 전치 ++a \n (즉, ++가 변수값 앞에 있는 것을 전치라 부름)\n");
 System.out.println("[1] 초기화된 a의 값 : " + a);
 System.out.println("[2] ++a = " + ++a);
 System.out.println("[3] 현재 a의 값 : " + a); 
 System.out.println("변수 a값을 확인해보면 " + a + " 값이 나옵니다.\n");
 System.out.println("=============================================================================");
 System.out.println(" [증가 연산자] 후치 b++ \n (즉, ++가 변수값 뒤에 있는 것을 후치라 부름)\n");
 
 System.out.println("[1] 초기화 된 b의 값 : " + b);
 System.out.println("[2] b++ = " + b++);
 System.out.println("[3] 현재 b의 값 : " + b);
 System.out.println("변수 b값을 확인해보면 " + b + " 값이 나옵니다.\n");
 {
  System.out.println("\n 그러므로 이번 대입연산자에서 증가연산자 공부 끝! ㅋㅋ");
 }
  if (a!=b)
  {
   System.out.println("두 개의 변수의 증가 연산자에 의한 출력 값이 서로 다릅니다.");
  }
 System.out.println("\n 블로그 주소 : http://melburn119.tistory.com/ \n 공부하시느라 수고 많으셨습니다. ^^");  }
}

 ▶ 파일 다운로드 : numUpDown.rar

 제가 직접 작업한 파일들을 토대로 한번 실습해 보시기 바랍니다.
그리고 여러분들의 평가 및 조언, 트랙백 등 부탁드립니다. ^^ 감사합니다 ㅎ

반응형
반응형