벨로그의 포스팅된 글을 보다, "어떤 개발자가 되고 싶은가" 라는 문구를 보고, 나의 개발 life를 다시 한 번 생각하게 되는 계기가 되었다. 나는 어떤 개발자가 되고 싶은걸까? 서론 솔직하게 한 번도 생각해본 적이 없다. 이 질문 자체가 나에겐, 자아 성찰을 하게 되었다. 나는 원래 중학생까지만 해도 운동 선수부였고, 고1 때 abcd를 처음으로 공부하였다. 그만큼 공부와는 거리가 많이 멀었지만, 자기 개발하는 것을 많이 좋아하는 성격이었다. 이에, 영어와 친해지기 위해 아버지의 권유로 Boys high school in Christchurch on the South Island of New Zealand에 다니게 되었다. 당연히, 영어를 아무것도 모른 상태로 갔으니, 아무것도 아는
2023.04.26 자바 및 프로젝트 스터디 리뷰 새로 알게되거나 헷갈렸던 것들 IS-A : 은유법 업캐스팅, 다운캐스팅 오버라이딩 되었을 때의 경우 생각. 메서드 재정의 되어있으면 웬만해선 자식꺼임. 멤버변수가 재정의되면 다시 생각해봐야함. 챗 gpt - 쿼리에만 쓰면 됨. (쿼리에선 9할 이상 되는 것 같음) 실무에서 인터페이스와 상속의 차이점 기능 확장 방법 상속: 부모 클래스에서 자식 클래스로 기능을 전달하며, 자식 클래스는 부모 클래스의 기능을 사용하면서 새로운 기능을 추가하거나 변경할 수 있습니다. 인터페이스: 메서드의 시그니처만을 정의하고, 다른 클래스에서 해당 인터페이스를 구현하여 실제 기능을 구현합니다. 이 방법은 기능의 확장에 있어서 상속보다 더 유연한 방법입니다. 다중 구현 가능 여부 상속: 하나의 클래스만 상속할 수 있으므로, 다중 구현이 불가능합니다. 인터페이스: 다중 구현이 가능하므로, 한
컴퓨터의 대표적인 메모리 영역 컴퓨터 메모리는 보통 4가지 영역으로 나누어져 있습니다. 코드(Code) 영역 명령어/ 코드 저장공간. 프로그램 코드가 저장되는 공간입니다. 실행 파일이 메모리에 로드될 때, 코드 영역에 저장되어 CPU가 실행할 수 있도록 됩니다. 데이터(Data) 영역 전역 변수, 정적(static) 변수 등이 저장되는 공간입니다. 프로그램 실행 중 값이 변할 수 있는 전역 변수는 초기화되지 않은 데이터 영역에, 프로그램 실행 중 값이 변하지 않는 전역 변수와 정적 변수는 초기화된 데이터 영역에 저장됩니다. 스택(Stack) 영역 스택(Stack) 영역은 함수 호출 시 생성되는 지역 변수와 매개변수(parameter) 등이 저장되는 공간입니다. 함수가 호출되면, 해당 함수의 지역 변수와 매개변수는 스택에 메모리 공간을 할당받습니다. 이 때, 메모리는 "Last-In-First-Out" 방식으로 할당됩니다. 다시말해, 마지막에 할당
필자가 운영체제 중간고사를 준비하면서, 직접 정리한 노트입니다. 도움이 되면 좋겠습니다 !  , 트레이너(트
백준 깃허브 업로드가 안되는 분들을 위해 포스팅 하게 되었습니다. 아래와 같은 방법으로 먼저 해결해보시길 권장드립니다. 해결방법필자가 시도해본 방법 백준허브 익스텐션 재설치 백준허브 Auth 과정 재실행 GitHub 토큰 만료 확인 => 만료 2일 전이라서 재발급 받음 레포 연결 확인 => 확인함 비어있는 레포에 파일(README) 추가 => 하였으나, 안됌 >이렇게 시도해보았지만, 필자는 해결되지 않았습니다. 따라서 어떠한 이유 때문에 이러한 에러가 발생하는지 원인을 알아야 해결할 수 있어서, 원인을 알기 위해 알아보고 공부했던 내용을 공유하고자합니다. 깃헙
git 다운로드 클릭 클릭하여 본인에 맞는 os로 설치하시면 됩니다. 설치 후 터미널에서 git 설치 여무를 확인합니다. 원격 저장소 연결 (git hub) 임시 아무 파일이나 생성이 되었을 때에는 언트렉트 (untracked) 파일이 생성된 것입니다. 이것을 깃에 추가하려면 add 명령어를 사용하여 트렉트 해주어야 합니다. (즉, 준비 영역이라고 보면됨) tracked 이후엔 원격 저장소에 연결됨. 자주 쓰이는 기본지식 pull : 현재 폴더를 그대로 업로드 하는 것이 아니라, 지금까지의 이력/버전(commit)을 push 하는 것입니다. 참고로 Working directory, Staging area의 변경사항들은 원격저장소로 push 되지 않습니다. __그래서, push 전에
다형성(polymorphism)이란 부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리입니다. 다형성을 활용하면 부모 클래스가 자식 클래스의 동작 방식을 알 수 없어도 오버라이딩을 통해 자식 클래스에 접근할 수 있습니다. 그렇다면 어떻게 부모가 자식이 어떤 일을 하는 지 몰라도, 자식 멤버 함수를 호출시킬 수 있는 것일까요? 이유는 동적 바인딩 때문입니다. >동적바인딩이란, 메서드가 실행 시점에서 성격이 결정되는 바인딩인데요. 프로그램의 컴파일 시점에 부모 클래스는 자신의 멤버 함수밖에 접근할 수 없으나, 실행 시점에 동적 바인딩이 일어나 부모클래스가 자식 클래스의 멤버함수를 접근하여 실행할 수 있습니다. 다형성 장점 1) 유지보수가 쉽다 개발자가 여러 객체를 하나의 타입으로 관리가 가능하기 때문에 코드 관리가 편리해 유지보수가 용이합니다. 2) 재사용성 증가 다형성