[Java] Class와 Instance

백승하·2021년 9월 16일
0

Java

목록 보기
2/8

Java가 어려운 점?

대학교 1학년때였나, 첫 학기 때 들었던 수업들 중에 가장 기억에 남는 것은 C 프로그래밍수업이었다. 다른 것 때문에 기억에 남는 것은 아니고 유일하게 C를 맞았던 과목이라서....

지금 생각해보면 그리 어렵지 않은 수업이었는데 그 당시 트라우마 수준까지 갔었던 이유는 printf가 주는 이질감이었던 것 같다. print라고 하면 충분히 이해하고 수업이었을텐데 그 이질감을 이기지 못했던 것이 프로그래밍을 포기하게 됐던 가장 큰 이유였다.

파이썬을 쓰면서 가장 좋았던 점 중에 하나는 신경쓸 것이 별로 없다는 것이었다. 파이썬이 대부분의 것들을 알아서 해주기 때문에 구현해야 하는 것에만 집중하게 할 수 있게 해줬고, 그것 때문에 디버깅을 할 때도 로직상의 문제만 찾으면 대부분 해결할 수 있었다. 덕분에 대학시절 겪었던 트라우마를 극복할 수 있게 됐고, 초보자들에게 감히(?) 권하지 않는 Java의 세계에 들어오게 됐다.

Java로 프로그래밍을 시작한 주변 친구들에게 물어봤을 때 나에게 C언어 같은 트라우마를 안겨준 것이 지금 말하고자 하는 Classinstance라고 들었던 기억이 난다.

혹시 이러한 간접경험으로 인해 두려움을 가지고 있는 분들에게 조금이나마 도움이 될까 싶어 내가 이해한 Classinstance에 대해 이야기를 해보고자 한다.


Class

class는 Java에서 variable과 method를 각 특성에 맞게 비슷한 유형끼리 모아 놓은 집합이라고 보면 쉽게이해할 수 있을 것 같다. 예를 들어 이과로서 생각나는 게 수학밖에 없긴 하지만, '수학'이라는 class 안에 정수, 실수와 같은 숫자도 있지만, 미적분, 기하, 벡터와 같은 개념들도 들어있다. 그리고 '국어'라는 class 안에는 단어, 문장, 문단과 같은 것도 있고, 문법이나 화법 등의 개념들도 같이 포함된다.

Instance

instance같은 경우 class의 하위 개념이긴 하지만, 역시 좀 더 쉽게 이해하기 위해 공학용 계산기를 쓰던 학부생 시절로 돌아가보겠다. 우리는 성능 좋은 공학용 계산기 안에 여러 수식을 저장해놓고, 필요할 때마다(특히 시험 때) 꺼내서 사용하곤 했다. 여기서 저장된 수식을 instance라고 생각하면 될 것 같다. 수식을 저장했다는 것은 '한 번'의 용도가 아닌 '여러 번'이었을 것이고 instance를 만드는 목적도 이와 같다. 우리가 +,-,*,/ 와 같은 단순 사칙연산을 굳이 비싸고 좋은 계산기에 저장해서 쓰지 않듯, class안에서도 여러 번 사용할 것 같고, 그 용도가 복잡(?)할 것으로 예상될 때 instance를 사용한다.

갑자기 생각났는데, 스타크래프트할 때 쓰는 단축키를 instance에 대입시켜도 좋을 것 같다. 자주 쓰는 화면을 단축키로 지정(f4 ~)해서 사용하듯 instance도 그렇게 사용하면 된다.


profile
꿈꾸고 실현하는 개발자

0개의 댓글