자바 중간고사 review



while(condition)

condition에는 비교하는 operation이 들어 갈 수 있으며, 해당 조건이 만족하여야 while의 loop가 돌아간다. 

내가 한 실수 while(a==b)

나의 생각: while문의 조건이 a와 b가 같아지면 끝나는 것으로 생각 했었다. 다시 생각해보면, condition에 들어가는 operation은 항상 <과 >을 기반으로 =와 함께 쓴다. 나의 논리를 따르려면, 보통 while(true)을 넣고, loop statement 안에 if조건문을 통해서 a==b를 비교하여 break문을 실행시키는 것이다.




while(a==b)--> X            while(true){if(a==b)break;}    -->O


short circuit

나의 생각: or operand이나 and operand이든 항상 앞에 오는 조건문이 중요하다. 뒤에 것과 상관없이 앞에 것에 의존한다


틀린 것은 아니다. 하지만, short circuit의 가장 core는 앞에 있는 것에 대한 판단이 아니라, 앞에 것에 의해서 뒤에 것이 계산이 안되는 다는 것이다. 


나의 생각과 비슷한 이야기지만이지만,  short circuit은 의존의 중요가 아니라 계산이 덜 된다는 것이 중요하다


super

super은 하위 class에서 상위 class를 참조할 때, 사용하는 것이다. 


문제: super가 해당 class의 변수들에 대해 접근 할 수 있다 였다.(정확하지는 않다) 



답은 this이다. this가 현재 object의 변수들에 접근하는 것이다. 

내 생각: 생각이 짧았다. super을 통해서 상위 class에 접근 하는 것인데 문제에 within class를 access한다고 하기에 현재 object가 참조 할 수 있는 함수에 대해 가능하냐는 말이다. 나의 생각도 틀렸고 해석도 잘못했다. 



Wrap up

위 3 문제 말고는 실수로 2문제 더 틀렸는데, 사실 상 빈 칸 채우기에서 override와 overriding의 문법차이(동사와 명사)때문에 틀린 것이다. 

사실 super의 정의 따지는 T/F를 제외하고는 같은 흐름에서 다시한번 다른 방향에서 생각하지 못했다는 점이 아쉽다.




'걸림돌' 카테고리의 다른 글

[OSS]Linux&git command  (0) 2018.04.30

현 시점까지의 잠깐의 복습....



git에 대한 5가지 정의

git push: 새로운 소스 파일을 local repository가 아닌 remote repository에 저장하는 것이다

git init: 현재 dir을 git 저장소로 관리하고 싶을 때 사용한다

git status: git repository의 현재 상태를 알려준다

git commit: traked된 파일들을 staging하기 위해서 commit한다. 여기서 traked는 git add를 통한 것을 말한다

git add: 소스파일을 staging하기위해 trake하는 것을 말한다




linux명령어

mv a b c d e f g: 현재 dir에서 g라는 dir을 만들고 그 안에 다시 a와 b와 c와 d와 e와 f의 이름으로 된 dir을 만드는 것이다




pull request에 관하여....

보통 우리가 pull request를 하는 경우는 상대방의 git을 fork를 하는 경우(clone을 통해서 local repository나 혹은 remote repository에 하여도 된다) 혹은 상대방의 프로그램에 문제가 있을 경우 해당 프로그램의 작성자에게 pull request를 한다. 작성자는 수정자의 수정 내용을 확인 후  수정을 받아 드릴 경우 merge를 통해서 원본 저장소에 합친다



make로 디버깅용 실행 파일을 생성하기.......

make로 디버깅 파일을 실행하기 위해서는 make의 순서가 중요하다. make 를 통해서 실행 파일을 만들때는 먼저 해당 소스 파일의 object 파일을 만들고 해당 object를 통해서 실행 파일을 만들게 되는 것이다 


Makefile을 작성할 때는 target, dependency, command, macro로 나누어 저있으며, target은 make를 통해 invocation될 이름이다. dependency는 command로 compile 될떄 사용 되는 재료이며, marcro는 전처리로 setting되게끔 도와주는 역활을 한다


 즉, debuging을 하는 경우, debugging으로 구성된 command를 정해주고 target과 필요로 하는 (소스파일, 해더파일 등등) 파일들과 함께 작성하면 된다.

'걸림돌' 카테고리의 다른 글

[Java]중간고사 review  (0) 2018.04.30

+ Recent posts