컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을
객체지향언어의 주요 특징코드의 재사용성이 높다.코드의 관리가 용이하다.신뢰성이 높은 프로그래밍을 가능하게 한다.가장 큰 장점은 "코드의 재사용성이 높고 유지보수가 용이하다."클래스\-정의: 클래스란 객체를 정의해 놓은 것이다.\-용도: 클래스는 객체를 생성하는데 사용
JVM의 메모리 구조1.메서드 영역\-프로그램 실행 중 어떤 클래스가 사용되면, jVM은 해당 클래스의 클래스파일(\*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스,데이터)를 이곳에 저장한다.\-이때 그 클래스의 클래스 변수도 이 영역에 함께 생성된다.2.
상속\-기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.\-생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다.\-자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.\-상속은 단일 상속만 가능class Child extends Parent{}
상속\-기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.\-생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다.\-자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.\-상속은 단일 상속만 가능class Child extends Parent{}
컬렉션 프레임웍이란?"데이터 군을 저장하는 클래스들을 표준화한 설계"를 뜻한다.컬렉션 프레임웍의 핵심 인터페이스1.List \-순서가 있는 데이터의 집합\-데이터의 중복을 허용한다.\-구현클래스: ArrayList, LinkedList, Stack, Vector 등2
Iterator, ListIterator, Enumeration\-Iterator, ListIterator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다.\-Enumeration은 Iterator의 구버전이며, ListItera
HashMap과 Hashtable\-Hashtable과 HashMap의 관계는 Vector와 ArrayList의 관계와 같아서 Hashtable보다는 새로운 버전인 HashMap을 사용할 것을 권한다.\-HashMap은 Map을 구현했으므로 앞에서 살펴본 Map의 특징
얕은복사(Shallow Copy)객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성복사된 객체의인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조해당 메모리 주소의 값이 변경되면 원본 객체 및 복사 객체의 인스턴스 변수값은 같이 변경깊은복사(D
자기 자신을 리턴하므로써, .(참조연산자)만 사용해서 호출할 수 있다.
생성자 개념 정리