0630 FEEDBACK
날짜/피드백 시각
220630 목요일 17:00
참여 인원
송용호 왕종휘 신상원 한승연 박영승
•
Sumup + 느낀점
◦
월
▪
git(다같이)
•
브렌칭이 어렵다
•
커밋은 트리의 정보만, 변경로그는 트리에
•
파일은 버전은 전부 저장되어있고 로그가 트리에.
▪
C ,CS(종휘)
•
JAVA에서는 거의다 call by value 인데,
C의 Call by refer , 포인터가 신기했다.
◦
수
▪
C, CS(승연)
•
배열을 포인터로 접근하기.
•
*(p+1), (*p+1)의 차이.
p에 별이 닿는 순간 포인터 아님.
•
배열을 사용하는 이유.
▪
JAVA(영승)
•
Q.super
◦
부모의 메소드가 필요할 때.
•
JS로 입문
◦
목
▪
C, CS(상원)
•
상원 > 포인터가 손에 안 익는다.
◦
자바로 입문
◦
포인터 별표 한개마다 별표를 찍어보자.
▪
JAVA(용호)
•
부모 클래스를 통해 상속받은 객체들을 접근하는 이유
•
향상된 for 문
•
이외 기록할 것
◦
Q, linked list 에서 역행 가능?
▪
뒤로가는 거 정의해주면 될 듯
◦
Q. a[0], a[10] 접근 속도 차이 없는 이유?
▪
배열은 주소를 바로 아니까
◦
Q. 이중포인터 사용하는 이유
용호는 문자열 다루다가 가장 많이 접함.
2차원 배열 등등.
◦
금융권은 C
◦
인프런 김명한 스프링
◦
스프링은 자바자체보다 객체지향에 대한 이해가 중요.
◦
C로 자료구조 하다보면 보는 재밌는 문법…
*p.prev → p->prev
따로 공부하다가 2중 포인터 원리가 생각보다 널리 쓰이는거 같아 공유합니다.(+ 종휘)
Pointer of Pointer (2중 포인터)
•
참조의 참조, 간접참조 (
직접참조 )
직접 참조의 경우 직접 메모리 값을 참조하기 때문에 불일치 문제 발생 → 참조의 전파
// 문법이 맞지 않지만 이해를 돕기위해..
int a = 10; // 4byte (메모리 10~13에 할당한다고 가정)
int b = 11; // 4byte (메모리 20~23에 할당한다고 가정)
int* p = &a; // p는 a의 첫번째 바이트의 주소값을 가짐 ( p에 10 )
int** x = p; // x에 p의 주소 저장 (x에 10)
int** y = p; // y에 p의 주소 저장 (y에 10)
p = &b; // p는 a의 첫번째 바이트의 주소값을 가짐 ( p에 11 )
// 이떄 x=p , y=p 의 불일치 문제 발생
// 그렇기 때문에 x=&p, y=&p 처럼 값이 아닌 참조를 넘겨야 한다.
Java
복사
•
런타임 시 레퍼런스를 바꾸기 위해 포인터의 포인터를 참조 (= 간접참조)
1.
객체지향의 인터페이스를 호출하면 구체 클래스의 메소드를 호출하는 원리 → 유연
2.
링크드 리스트 원리 (간접참조를 이용해 논리적인 연속성을 가짐)
3.
데코레이션 패턴 원리
겹겹이 쌓인 객체의 메서드를 호출하면 간접 참조를 통해 아랫 겹 객체의 메서드를 수행한다.