본문 바로가기

전체 글

(125)
Java의 static method는 왜 오버라이딩 되지 않는가 Java Static Method는 왜 오버라이딩 되지 않는가? static 키워드로 선언한 대상들은 JVM의 method 영역 (static 영역)에 들어간다. new 키워드로 선언한 대상들을 JVM의 heap 영역에 들어간다. static method는 객체의 인스턴스와 연결되지 않고, 모든 인스턴스가 method 영역을 통해 공유하는 구조이기 때문에 동적 바인딩을 수행할 수 없다. (method 영역도 마찬가지) 그렇다면 static method는 왜 사용하는가? 사실 static method는 객체지향 관점에서 별로 좋지 못한 설계이다. 객체들이 메시지로 주고 받는 컨셉이 static method는 전역적으로 공유되기 때문에, 성립하지 않기 때문이다. 그럼에도 사용하는 이유는 내 기준이지만 클래스..
[Java 프로그래밍 초급] 객체지향 기본 개념 코드프레소 Java 웹 개발 체험단 활동 중 코드프레소 이러닝 강의 수강 - 실무자가 알려주는 Git 활용한 프로젝트 관리 코드프레소 URL: https://www.codepresso.kr/ SW 개발 방법 단계 요구사항 수집 요구사항 분석 고수준 설계 상세 설계 구현 테스트 SW 개발 방법론 구조적 방법론 정보공학 방법론 객체지향 방법론 컴포넌트 기반 방법론 애자일 방법론 객체 지향 프로그래밍(Object Oriented Programming) 데이터와 데이터에 대한 연산을 수행하는 코드를 그룹화 한 객체를 중심으로 SW를 설계 개발하는 패러다임 시스템의 행위보다, 시스템에 참여하고 책임을 갖는 객체가 무엇인지에 주목 다수의 객체가 각자의 역할을 하고, 객체 간에는 메세지를 주고 받으며 전체 시스템을 ..
[실무자가 알려주는 Git 활용한 프로젝트 관리] Git 브랜치의 이해와 활용 코드프레소 Java 웹 개발 체험단 활동 중 코드프레소 이러닝 강의 수강 - 실무자가 알려주는 Git 활용한 프로젝트 관리 코드프레소 URL: https://www.codepresso.kr/ 1. Git 브랜치 브랜치 (branch) 본래의 소스코드로 부터 파생한 독립적인 작업 공간 최신 커밋을 가리키는 일종의 포인터이다. 매우 가볍다. 생성, 이동, 병합 (merge)이 매우 쉽다. 병렬적으로 작업하다 보면 흐름이 동기적으로 진행되지 않기 때문에 이를 관리할 수 있는 도구가 필요하다. Git에선 브랜치가 해당 기능을 수행한다. 브랜치의 개념부터 알아보자. HEAD 현재 브랜치를 가리키는 일종의 포인터 현재 브랜치의 마지막 커밋에 대한 스냅샷 브랜치를 분기하게 되면 해당 브랜치 이름으로 HEAD에서 갈라..