주말코딩
@weekendcode
수강생
5,106
수강평
593
강의 평점
4.8
게시글
질문&답변
싱크가 안맞아요
안녕하세요, 방금 모바일로 재생해봤으나 정상적으로 싱크가 맞게 나오고 있습니다. 환경의 문제로 보이는데 웹 브라우저를 재실행하거나 인프런 측에 문의부탁드립니다! 플랫폼의 문제는 제가 도와드리기가 어려워서 양해부탁드립니다..
- 0
- 2
- 22
질문&답변
전공자 1달 벼락치기 강의 시작입니다..
안녕하세요, 정보처리기사 실기에는 C, Java, Python 3가지 언어 문제가 45~50점 출제됩니다.그리고 나머지 SQL이나 데이터베이스(관계대수 포함) 문제가 5~10점 나온다고 보시면 됩니다. 나머지 이론은 디자인 패턴, 응집도와 결합도, 데이터베이스 이론을 열심히 살펴보시고, 개발자로 일하고 계시니 코드 문제를 다 맞힌다는 전략으로 가시면 한 번에 합격하실 겁니다. 제일 좋은 것은 우선 최근 3회치 문제를 풀어보시는 것을 권장드립니다.봤을 때 문법적으로 이해가 안되는 것이 없다면, 크게 어렵지 않으실 겁니다. 1단계: 기출문제 3회 풀어보기 - 각 언어에 대한 문법 숙지와 현재 상태 파악2단계: 모르거나 틀린 문제에 대한 복습3단계: PDF 파일을 통해 이론 공부 훑고, 중요한 것들만 외우기.
- 0
- 2
- 38
질문&답변
5:53 업캐스팅 질의 드립니다.
안녕하세요, 답변드립니다. 질문 1: this()는 super()와 같은 기능인가요?아닙니다. 전혀 다릅니다.B(char x)에서 this()는 같은 클래스인 B()를 호출하는 것입니다.this() 때문에 먼저 부모에게 가지 않은 것은 없습니다. 원래 비어있으면 알아서 super()가 생략된 것이라고 생각하시면 됩니다.그런데 지금은 명시적으로 this()가 있으니 본인의 매개변수 없는 기본생성자로 갑니다. (this()는 본인의 생성자를 호출하는 함수에요) 거기 갔는데 super()가 있어서 부모로 가는 것입니다. Q. 만약에 this()가 없었다면?A. 부모로 직행합니다. super()가 생략된 걸로 보거든요. 질문 2: this() 사용 시 부모 생성자는 호출 안 해도 되나요?아닙니다. 반드시 어딘가에서 호출됩니다.this()를 쓰면 Java는 super()를 자동 삽입하지 않지만, 위임받은 생성자(B())가 대신 super()를 호출합니다. new B('Y') 호출 흐름: B(char x) → this() → B() → super() → A() ↓ ↓ ↓ print('B') print('A') (먼저 실행) 실행 순서: A → B → Y ==> 결과: ABY
- 0
- 2
- 28
질문&답변
"C언어 포인터 + 배열, 구조체"만 다뤄보자! 30분
헉.. 이런 오타를!매우 꼼꼼하게 보고 계셨군요 ㅠㅠ네 맞습니다. words[0], words[1], .... 입니다!
- 0
- 1
- 28
질문&답변
74강 포인터와 아스키코드
안녕하세요! 영상에서 몇 분 몇 초인지를 말씀해주셔야 답변이 가능합니다. 양해 부탁드립니다.
- 0
- 2
- 21
질문&답변
이론 공부
안녕하세요,원래 정보처리기사 실기 전체 범위를 다 꼼꼼하게 암기하고 들어가는 것은 불가능합니다.컴퓨터 공학 영역 전체를 머릿 속에 넣어둘 수는 없으니까요. 되도록 한 번 정도 살펴보시고, 디자인패턴과 데이터베이스 이론 위주로 보고 가시는 것을 권장드립니다.그렇게 해도 당일에 운이 안 좋으면 어려운 부분이 나올 수도 있습니다.
- 0
- 2
- 28
질문&답변
8번 빈칸채우기 문제
가능합니다. 그렇게 작성하셔도 됩니다.
- 0
- 2
- 40
질문&답변
JAVA 상속 관련
안녕하세요!질문자 분께서 생각하시기에 바로 직전 문제의 생성자는 어느 부분인가요?(말씀하신 직전 문제가 혹시 6:15 부분이 맞을까요?)어느 부분을 이해 못하셨는지 확인이 필요해서 여쭤봅니다. 이 답글의 대댓글로 말씀 부탁드립니다!
- 0
- 3
- 48
질문&답변
JAVA- 같아보이지만 다른 객체 질의
네, 큰 방향은 맞지만 정확히는 조금 더 구분해서 이해하시는 게 좋습니다.double을 자세하게 설명드리지 않는 이유는, 굳이 이렇게까지 공부하실 필요가 없어서인데..설명은 드려보도록 할게요. 핵심은 이것입니다.Double에서 == 는 “값 비교”가 아니라 “같은 객체인지 비교”입니다.즉, 둘의 내부 숫자가 같은지가 아니라, 메모리에서 동일한 객체를 가리키는지를 봅니다.그래서Double d1 = 128.0;Double d2 = 128.0;이 경우 d1 == d2 가 false인 이유는,두 변수에 들어 있는 값이 둘 다 128.0이어도, 보통 각각 별도의 Double 객체로 박싱되어 들어가기 때문입니다. 정리하면 이렇게 보시면 됩니다.기본형 double 은 객체가 아닙니다.double a = 128.0;double b = 128.0;여기서는 a == b 가 값 비교이므로 true입니다.래퍼 클래스 Double 은 객체입니다.Double a = 128.0;Double b = 128.0;여기서 a == b 는 객체 참조 비교이므로, 같은 객체가 아니면 false입니다.equals() 는 객체 안의 값 비교입니다.그래서 a.equals(b) 는 true가 됩니다. 이제 질문하신 “캐싱” 부분을 정확히 짚어보면,Integer 는 자주 쓰는 작은 정수 범위에 대해 내부적으로 캐시를 둡니다.대표적으로 -128 ~ 127 범위는 같은 값을 박싱하면 같은 객체를 재사용할 수 있습니다.예를 들어Integer x = 127;Integer y = 127;이 경우 x == y 가 true일 수 있습니다.둘이 같은 값을 가져서가 아니라, JVM이 같은 캐시 객체를 재사용했기 때문입니다.(JVM은 Java의 코드를 동작하게 해석해주는 가상머신으로 알고 계시면 됩니다) 하지만Integer x = 128;Integer y = 128;이 경우는 보통 캐시 범위를 벗어나므로 x == y 가 false가 됩니다. 반면 Double 은 이런 식의 일반적인 캐시를 기대하면 안 됩니다.그래서 같은 리터럴을 써도 대체로 서로 다른 객체가 만들어지고,d1 == d2 는 false가 나옵니다.즉, 질문하신 문장을 더 정확하게 바꾸면 이렇게 됩니다. “캐싱을 사용하지 않으면 항상 false다”가 아니라,“래퍼 객체에서 == 는 같은 객체인지 비교하는데, 캐싱이 없으면 같은 값이어도 같은 객체로 재사용되지 않아서 false가 나오기 쉽다”가 맞습니다. 그리고 “정수, 실수는 캐싱을 사용하지 않는다”도 정확히는 아닙니다. 정확한 표현은:기본형 int, double 자체는 캐싱 개념으로 비교하지 않습니다.래퍼 클래스인 Integer, Double 같은 객체에서 박싱 시 캐시 여부가 문제가 됩니다.Integer 는 일부 캐시가 있고, Double 은 일반적으로 그런 캐시를 기대하지 않습니다. 정리하자면, 간단하게 외우기만 하세요.기본형 비교== → 값 비교객체 비교== → 주소(참조) 비교equals() → 값 비교그래서 실무에서는 Double, Integer, Long 같은 래퍼 클래스끼리 값 비교할 때 == 를 쓰지 않는 것이 안전합니다. 대부분 equals() 를 쓰거나, 언박싱해서 기본형으로 비교합니다.Double d1 = 128.0; Double d2 = 128.0; System.out.println(d1.equals(d2)); // true System.out.println(d1.doubleValue() == d2.doubleValue()); // true다만 부동소수점은 오차 문제가 있어서, double 값 비교는 상황에 따라 조심해야 합니다. 예를 들어 0.1 + 0.2 == 0.3 은 false가 나올 수 있습니다.이건 캐싱 문제가 아니라 부동소수점 표현 문제입니다. Double 에서 == 가 false인 이유는 “캐싱이 없어서”가 본질이라기보다, “객체 비교인데 서로 다른 객체이기 때문”이고, 캐싱 유무는 그 결과에 영향을 주는 부가 요소입니다.
- 0
- 3
- 43
질문&답변
17강 포인터 조작과 출제패턴 / 08:40 / 메모리주소 관련 문의
안녕하세요, 영상을 조금 잘못 이해하신 듯 합니다.우선 "포인터 변수 ptr_a의 메모리 주소는 배열 변수 str과 동일하다."가 틀렸습니다.ptr_a는 그것대로 메모리 주소가 있고요, ptr_a가 가지고 있는 "값"이 str배열의 시작 주소입니다. C언어에서 있는 모든 변수는 각자의 메모리 주소가 있습니다. 그러지 않고서는 메모리 상에서 동작하지 않을테니까요. 포인터 변수는 단순히 메모리 변수를 값으로 가질 수 있는 변수입니다. 그게 끝입니다.나머지는 문법만 다른 것입니다. 마찬가지로 이중 포인터인 ptr_b도 마찬가지입니다. 그 변수에 해당하는 메모리 주소는 별도로 있고요.ptr_b가 가지고 있는 값이 ptr_a의 메모리 주소입니다. 생각보다 단순합니다. 질문은 많이 해주세요.
- 0
- 2
- 51




