1) 메서드의 매개변수 자리에 기본자료형이나 String 등의 타입이 아닌
직접 만든 클래스의 타입이 자리할 경우
(위 처럼 클래스의 타입이라고 하는게 맞나? 메서드의 매개변수 자리에 객체가 왔다고 하는게 맞나?
뭐가 맞지?)
resize 메서드에서 Rectangle r 은
Rectangle r = new Square(5,6); 이라는 뜻이다.
2) 메서드의 반환타입으로
직접 만든 클래스의 타입이 자리할 경우
User createUser(String name) { //이렇게 User 클래스의 타입으로 반환타입이 정해진 경우
return new User(name);
}
3) 메서드의 반환값 자체가
객체 생성한 값일 경우
User createUser(String name) {
return new User(name); //return값이 다른클래스의 객체를 생성한 값일 때
}
chatGPT 답변
Q : 1) 메서드의 매개변수 자리에 기본자료형이나 String 등의 타입이 아닌 직접 만든 클래스의 타입이 자리할 경우 2) 메서드의 반환타입으로 직접 만든 클래스의 타입이 자리할 경우 3) 메서드의 반환값 자체가 객체 생성한 값일 경우 제가 위 같은 경우를 스스로 만들지 못하고, 답을 봐도 금방 이해하지 못하고 있는데 계속 쉬운 코드를 보며 따라 치면 익숙해질까요? 하다 보면 시간이 해결해주는 건지 아니면 어떠한 공부 방법이 있는지 궁금합니다!
A : 네, 자바와 같은 객체지향 언어를 배울 때는 이해가 쉽지 않을 수 있습니다. 객체지향 설계와 클래스와 객체간의 관계를 이해하는 데 시간이 필요합니다.
1, 2, 3번 항목을 이해하려면, 먼저 클래스와 객체의 개념을 이해하는 것이 중요합니다. 클래스는 객체를 생성하기 위한 틀이며, 객체는 이 틀에서 만들어진 실체입니다. 이러한 객체들은 메서드의 매개변수로 전달될 수 있으며, 또한 메서드의 반환값으로 사용될 수도 있습니다.
여러분이 이해하려고 하는 내용은 객체지향 프로그래밍의 핵심적인 부분이므로, 다음과 같은 방법들을 시도해 보시는 것이 좋을 것 같습니다:
실제 코드 작성하기: 간단한 코드를 작성하고 실행해보면서 객체가 어떻게 생성되고 사용되는지, 메서드의 매개변수와 반환값으로 어떻게 동작하는지 이해하는 것이 중요합니다. 실제로 코드를 작성하면서 이런 내용들을 경험하게 되면 이해가 더욱 쉬워질 것입니다.
예제 코드 분석하기: 간단한 예제 코드를 찾아서 분석해 보세요. 예제 코드에서 어떻게 클래스를 정의하고, 객체를 생성하고, 메서드의 매개변수와 반환값으로 어떻게 사용하는지 확인해보세요.
개념 학습: 객체지향 프로그래밍에 대한 이론적인 부분을 학습하세요. 클래스, 객체, 메서드, 매개변수, 반환값 등의 개념에 대해 더 깊게 이해하려면 이론적인 배경지식이 필요합니다.
질문하고 답변 받기: 어려운 부분이 있으면, 그것을 질문하고 답변을 받는 것도 좋은 학습 방법입니다. 여러분이 질문을 통해 공부하는 것은, 다른 사람들의 경험과 지식을 빌려 자신의 이해를 높이는 좋은 방법입니다.
이런 방법들을 사용하면서 꾸준히 연습하다 보면 시간이 지남에 따라 이해도가 높아질 것입니다. 학습은 단기간에 빠르게 이루어지는 것이 아니라, 점진적으로 꾸준히 이루어지는 과정입니다. 혼란스러운 시기를 겪는 것은 전혀 이상한 일이 아닙니다. 이러한 과정을 통해 성장하게 됩니다.
'헷갈림 (내가 뭘 모르는지 올리는 공간)' 카테고리의 다른 글
[헷갈림] isEmpty / null / != / .equals (0) | 2023.08.01 |
---|---|
[헷갈림] 왜 생성자가 필요하지? (0) | 2023.07.31 |