안녕하세요 APCSA 수업을 듣다가 헷갈리는 부분이 있어서 글을 쓰게 되었습니다.
1. Static 이라는 것이 정확히 무엇이고 언제 사용하는 것인가요??
====================================================
일반적으로 object 는 new 를 할 때마다 새로 만들어지며, 이 경우 포함되는 것을 instance variable, instance methods 라고 합니다. 이들은 object 마다 값이 다르지요.
static 은 new 와는 별도로, class 자체에 소속되어 있으며, new 를 한다고 해서 변하지 않습니다. 또한, static method 는 object 에서 부르는 것이 아니고 Class 이름에서 부릅니다. 예를 들면 Math.pow(2,3) 같은 함수는 object 를 따로 생성하지 않고 직접 사용하지요.
====================================================
2. Barren 에서 출간한 APCSA 책과 함께 보고 있는데 막 byte, bit, binary 뭐 이러한 것들이 나오더라구요,,,
강의를 보는데 이러한 것들은 따로 cover해주시지 않으셔서 궁금해졌는데 이런 것들은 APCSA 범위에는 들어가지 않는 것인가요??
====================================================
네. 컴퓨터 공부하려면 기본적인데도 불구하고 APCSA 에는 출제되지 않습니다.
알아두면 좋아요 ^^
요즘은 APCS Principles 에서 간략히 다루기도 합니다.
====================================================
3. 책에도 나오고 강의에도 아주 가끔 나오기는 한데 혹시 this라는 것이 무엇이고 언제 사용하는 것인가요?
====================================================
this 는 현재 object 를 지칭하는 명령어입니다. (inheritance)
super 와 대조하면 이해하기 쉬운데,
inheritance 상황에서 A extends B 라면, A 입장에서 A 는 this 이고 B 는 super 가 되겠지요.
그럼 A 내부의 코드에서 this. 를 하면 A 의 변수와 메소드를 지칭하게 되며, super. 이후에 나오는 것은 parent class 인 B 의 변수와 메소드를 지칭하게 됩니다.
====================================================
항상 좋은 강의 잘 보고 있습니다 감사합니다.
====================================================
I'm glad that this is so. Thank you, and good luck!
====================================================