나도 손으로 코드 5번 옮겨적어 봤는데.
코드를 그대로 손으로 적는건 손만 아프지 도움 안됨.
위에 172.58.님이 설명해준 것 처럼
pseudo code(순차적으로 옮겨적은 가상 코드), logical flow (플로우 차트)을 손으로 하는게 더 도움됨.
아니면, 코드 소스를 손으로 옮기지말고, 프로그래밍 소스를 프린터한 후에 손으로 표기하면서 주석다는거라면 도움이 됨.
교과서 내용물이 어떤지를 몰라서 제대로 설명을 못해주겠는데.
주석이라는게 별거 없음. 예을 들어서
for(int a = 0; a < 10; a++)
{
sum = sum + a;
}
이렇게 있으면, // 0에서 부터 10까지 합친다.
이렇게 하거나, 저기에 0에서 10까지 합쳐야 되는 이유가 있으면, 이유를 적는게 주석임.
예을 들어서 구조체로 저장되어 있는 금융 데이터에 총 금액을 표현해야된다고 하면,
/*
* 금융 데이터 구조체 배열 ae에 총 금액(sum)을 계산하는 것.
* 이번 월이 31이라고 가정한다.
* 구조체 배열에서 돈에 관련된 정보는 money에 들어가 있다.
* 총 금액은 - 금액이 없다고 가정하여 총 금액(sum)은 unsigned로
* 처리한다.
*/
unsigned int sum = 0;
for(int day = 0; day < 30; day++)
{
sum = sum + ae[day].money;
}
이런식으로 코드에 설명을 붙이는게 주석이라서.
프로그래머는 적어도 자기 머리속에 대략적인 순서도 그리면서 프로그래밍함.
그래서 순서도가 프로그래밍 먼저 되어 있으면, 코드 속도가 빨라지고 순서도에서 디버깅 얼추 해놓은 상태면 디버깅할 시간 줄어드는데.
순서도는 프로그래밍할때 같이하거나 먼저함.
프로그래밍 다해놨는데. 순서도를 만들 이유가 없잖아;
주석은 '코드'에 대한 설명인거고.
일단, 답을 해주면,
function point(xpos, ypos) 이부분은 함수임.
point는 함수명, xpos, ypos는 매개변수.
this <- 자기 자신을 뜻하는 것으로 객체 자신을 말하는거.
this.x <- 여기 x는 this에 있는 속성을 뜻함.
즉, this.x라는건 객체 자신에게 있는 속성 x를 부른다. 라는 뜻이고.
this.x = xpos; 라는 것은 객체 자신에게 속성 x에 xpos라는 값을 넣는다. 라는 뜻임.
그럼, this.y = ypos; 라는 뜻은 이해되겠지?
지금 질문한건, 소스 코드를 옮겨 적으면서 공부해야되는게 아니라.
책에 보면, 클래스라는 파트가 있을거임.
거기 클래스라는 파트를 읽고 이해해야됨.
클래스(class)라고해서 데이터([맴버]변수)와 동작(함수)를 가지고 있는 데이터의 구조를 정의하는 장치가 있어.
예을 들어서[Java 언어 기준]
// 폴리곤 클래스 정의.
class polygon
{
//맴버 변수 정의
private int x;
private int y;
/*
* 함수명 : setPoint
* 매개변수
* int x: x축의 정보를 받아들이기 위한 매개변수.
* int y: y축의 정보를 받아들이기 위한 매개변수.
*
* 설명: x, y을 받아 들여서 점 정보를 저장하는 함수.
*
*/
public void setPoint(int x, int y)
{
this.x = x;
this.y = y;
}
/*
* 함수명 : getX
* 설명: x값을 반환하는 함수[메소드]
*
*/
public int getX()
{
return this.x;
}
/*
* 함수명 : getY
* 설명: y값을 반환하는 함수[메소드]
*
*/
public int getY()
{
return this.y;
}
}
이렇게 만들어내는걸 클래스라고함.
그리고, 객체네, 속성이네 하는게 바로 클래스라는 부분이 있기 때문에 성립이 되는거라서 이런걸 이해하고 있어야지.
님이 모르겠다고 했던 부분이 이해가됨.
즉, 님은 프로그래밍 코딩책 한권을 한번 다 읽은 다음에 이해하는게 중요할 것 같음.
나도 암기가 안되서 내가 알고 있는걸 예시로하면서 이해한 상태로 프로그래밍 했는데.
그게 안되면, 직접 맨땅에 헤딩하면서 이것저것 시도하면서 익히던가.
아니면, 자기가 이해한걸 남에게 질답하면서 고쳐나가면서 익히던가.
그렇게 했는데도 '까먹어서 모르겠다.' 라는 결과가 나오면 나한텐 방법이 없음.