Java

POJO : 평범한 오래된 자바 객체자바 언어 스펙을 제외한, 특정 기술(프레임워크)에 대한 종속성이 없는 객체.즉, 어떤 자바 프로젝트에서도 사용 가능한 객체.Java 언어 자체 규약에 의한 제한 외의 규약에 구속받지 않는 Java 객체.제약사항미리 지정된 클래스를 extend 해서는 안된다. 즉, 어떤 클래스의 자식클래스가 될 수 없다.미리 지정된 인터페이스를 implement 해서는 안된다.미리 정의된 어노테이션을 포함해서는 안된다.장점비즈니스 로직과 특정 환경 종속적인 코드를 분리하기 때문에 코드가 단순해진다.특정 환경에 종속적인 로직이 포함된 객체는 테스트가 어렵지만, POJO는 그렇지 않다. 즉, 테스트 자동화에 유리하다.객체지향적인 설계를 자유롭게 적용할 수 있다. POJO vs Java B..

많은 객체들이 모여서 상호 협력하면서 데이터를 처리하는 방식. 프로그램을 묶음 단위로 잘게 쪼개서, 추후에 가져다 쓰기 편하게 만들어놓은 프로그래밍 방식 레고 블럭 조립하듯이 컴포넌트를 유연하고 변경이 용이하다. 반대 개념인 절차적 프로그래밍(Procedure Programming) 대표 언어 C 함수를 이용해서 작은 부품을 만들고 이것을 결합해서 더 큰 프로그램을 만들어가는 테크닉 하지만 어플리케이션이 복잡해질수록 실제 세계처럼 더 밀접한 모델링 방식이 필요했다. 그래서 서로 연관된 함수와 변수를 모아서 박스를 만들고 거기에 이름을 붙여서 정리정돈을 한 수납상자를 만들었는데 이것이 Class이다. 이런 클래스를 중심으로 프로그램의 구조를 만들어가는 프로그래밍 방법론이 객체 지향 프로그래밍이다. 객체지향..


상속과 메모리 구조 new ElectricCar()를 호출하면 ElectricCar 뿐만 아니라 상속 관계에 있는 Car까지 함께 포함하여 인스턴스를 생성한다. 참조값은 x001로 하나이지만 실제로 그 안에는 두 개의 클래스 정보가 공존하는 것. 상속이라고 단순하게 부모의 필드와 메서드만 물려 받는게 아니다. 상속 관계에서는 부모 클래스도 함께 포함해서 생성된다. 외부에서 볼 때는 하나의 인스턴스를 생성하는 것 같지만 내부에서는 부모와 자식이 모두 생성되고 공간도 구분된다. ==================================================================================== Car와 ElectricCar 둘 중에 호출하는 변수의 타입(클래스)를 기준으로 ..