친구한테 자바를 설명해보았다

친구: 클래스가 뭐냐

너가 붕어빵을 만들려면 뭐가 필요하냐
재료도 있어야 되긴 하는데 일단 붕어빵 틀이 있어야 되잖어
그 틀을 만드는 설계도가 클래스임.

친구: 메소드가 뭐냐

너가 붕어빵을 만들려면 어떻게 해야하냐
붕어빵 재료를 갖고 와서 붕어빵 틀에 넣어야 되잖어
붕어빵 만드는 법을 순서대로 자세하게 작성한게 메소드임.

친구: 매개변수가 뭐냐

우리가 살면서 아이스크림 살 때 딱 한가지 맛만 사진 않잖어
아이스크림 맛이랑 하드인지 콘인지 그런걸 정하는게 매개변수임.

민초 국룰 ㅇㅈ? ㅇㅇㅈ. 반박할 시 민초단으로 간주함 ㅅㄱ

친구: 생성자가 뭐냐

너가 초코 아이스크림을 샀으면 니가 좋든 싫든 무조건 초코 아이스크림이 와야 되잖어
생성자는 ()안에 매개변수에 따라서 어떤 아이스크림이 나올지 정하는 거임.
좀 더 자세히 설명하자면, 자바에서는 기본적으로 생성자를 public 형태로 자동으로 생성해줌. 안 만든다고 생성자가 없는게 아님.
생성자를 만들게 되면 중괄호 안에서 객체가 생성이 되었을 때 어떤 동작을 할 지 정할 수 있음.
니가 초코 아이스크림을 사게되면 아이스크림을 만드는데 초콜릿을 올려서 만들도록 정해져있는거지.
객체를 생성할 때는 항상 생성자가 같이 옴. 니가 좋든 싫든 생성자는 무조건 옴. 객체를 싱글톤 기법으로 만들때는 제외. getInstance 메소드를 따로 만들어서 생성해야됨.
그니까 메소드인데 객체를 생성할 때 자동으로 실행되는 메소드임. 여러개 만들어서 메소드처럼 오버로딩 할수도 있음.

친구: 메소드 오버로딩이 뭐냐

대한민국에 김철수가 1명만 있는게 아니잖어
김철수가 (김철수) 이거랑 (김철수) 이거랑 다른 사람인지 어케 아냐
(김철수) (김철수, 개발자)
이렇게 하면 누가 ‘개발자’ 김철수인지 대충 알 수 있음.

메소드로 표현하자면
void print() ... sysout(1);
void print() ... sysout(2);
이 상태인거임. 우리는 뭐 위에거 아래꺼 이렇게 구분하지만 컴퓨터는 멍청해서 어떤 print 메소드가 1을 출력하는지 모름.
따라서 우리는 print 메소드를 둘 다 사용하기 위해선

  1. print 메소드 둘 중 하나의 이름을 바꾸던지
  2. 매개변수나 리턴 타입을 서로 다르게 하든지 해야함.

여기서 2번이 메소드 오버로딩임.
void print() ... sysout(1);
void print(int x) ... sysout(2);
이렇게 작성하면 print 메소드는 정수형 매개변수가 들어가면 2가 출력됨.
void print() ... sysout(1);
int print() ... return 2;
이렇게 하면 아래쪽 print 메소드가 2를 출력하는 거를 볼려면 메인 함수에서 직접 출력함수를 이용해야 되지만 결과적으로 print라는 이름만 같고 다른 메소드임.

난 이걸 대체 왜 쓰고 있는걸까

1 Like

근데 그 붕어빵틀 붕어빵 그거 보다 더 구체적인 개념이 있다고 디자인패턴 책이었나 어떤책 있던거 본적이 있는거 같은데 기억이 안나네여
근데 진짜 개발 관심없는 친구들에게 쉽게말해준다고 코딩뭐 이런거 설명해준다고 해줘도 붕어빵 붕어빵틀 이해를 잘 못하더라구요
사이언스…

1 Like

히라가나를 그림이나 한국어 단어랑 연관지어서 외우는 거랑 비슷한 건가요
사실 저도 자바를 영단어 외우듯이 배워서 개념같은 거를 비유하면서 설명하면 이해가 잘 안 갈 거 같아요.
붕어빵 재료는 어디서 갖고 오지? 하는 생각이 들면서 뭔가 머릿속이 복잡해져서 수업 내용을 놓친 경우가 있었거든요.

1 Like

그게…저도 첨엔 이해가 안됐었는데

교수님이 예시를 보여주시는데
그순간 득도한게 그런느낌일까요 명확하게 이해되는 순간이 딱 터지더라구요 ㄷㄷ 그때 되게 기분 좋았습니다

제가 이 사이트를 이용이 처음인데 막히는 부분이 있습니다
현재 게시글을 올리는 법을 찾지 못했는데 어떻게 올리는지 아시나요? 자바관련 질문을 하고 싶어서 그럽니다

공감합니다. 저도 아 붕어빵은 저렇게 굽구나 하고 말지…
막상 실습하거나 코딩에 적용하면 힘든 것 같습니다.
그냥 계속 해보면서 경험도 쌓고 조금씩 이해도를 높이는게
가장 좋은 방법이라 생각됩니다.

그런데 사실 붕어빵이 그렇게 좋은 비유는 아닙니다 ㅋㅋㅋㅋ

1 Like

새글을 바로 쓰실수는 없구요. 댓글 몇개 쓰시면 새 글을 쓸수잇는 버튼이 살입니당

아래 사이트는 가입후 바로 글을 작성 하실 수 있읍니다.

https://okky.kr

2 Likes

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

1 Like

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

1 Like

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

1 Like

엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ