cg관련 종사자인데 파이썬 조금 할줄알고 취미로 하는 인간이라서 기본이 없음..
1 class Obj{
2 int x,y;
3 int nahaha
4
5 Obj(int transX, int trnasY,int haha){
6 x = transX, y =transY
7 nahaha = haha
8 }
9 void display(){
10 ellipse(x,y,nahaha,,nahaha);
}
}
라는 클래스 문이 있는데 저기서
1. 5번줄 Obj는 왜 쓰는거임? 생성자? 이런거던데 굳이 클래스 네임하고 같은걸로 써서 매개변수를 줘야함?
2. 2번 3번줄에 x,y nahaha 라는 변수가 로컬변수가 맞음? 그리고 왜 10번 줄에서 엘립스의 인자에 5번줄 Obj의 매개변수들을 그대로 안넣고
Obj의 매개변수들을 x,y,nahaha에 저장시키고 x,y,nahaha 라는 처음에 설정해준 변수에 넣는지?
3.클래스 선언할떄 Obj NAME; 이런식으로 쓰는데 이게 맞음? 왜 이렇게 씀? 그냥 약속임?
1. 클래스 이름과 같은 이름의 해당 클래스 멤버함수는 생성자다. 이건 약속. 초기화 해서 쓸 일이 많으니 그런거. 매개변수는 선택적 문제. 필수가 아님.
1. 언어가 씹죶 그렇게 생겨먹었다 2. 로컬변수 아니다 3. 니미 그게 씹죶같은 약속이다
2. x, y, nahaha 는 멤버 변수임. 즉 저 객체의 생성시점과 소멸시점과 생명주기(life cycle)를 맞춤. 지역변수는 함수 끝나면 스택에서 제외되지만 저건 그렇지 않음
int transX, int 오타에 여기 제대로 베껴. 이부분은 생성자가 받은 파라메터지만 지역변수니까 이 함수 종료되고 나면 사라지니 저장해두는거지.
3. 변수 선언할때 처럼 클래스의 개체를 선언할때 타잎 이름; 이건 약속.
오오미 조금씩 이해가 된다. 모르는거 있으면 존나물어봐야겠다 여기에
그럼 지역변수랑 전역변수는 어떻게 구분해?
책 안찾아보냐?
함수 안에 선언되었냐 아니냐 잖아. 찾아봐 좀.
간단하게 뭔가 안에 있으면 지역변수 밖에 있으면 전역변수 하하
ㄴ 대괄호 기준으로 생각
모르는거 있으면 찾아봐라 여기다 물어보지 말고