
: 정수, 실수, 논리값을 저장할 수 있는 기본 타입 8개정수 : byte, char, short, int, long실수 : float, double논리 : boolean정수 타입byte < short, char < int < long < floa
데이터를 순차적으로 처리하는 구조, 인덱스로 관리객체 자체를 저장하는 것이 아닌 주소를 참조null을 담을 수 있음데이터 중복 허용 ( 이 경우 동일한 주소를 참조 )List 인터페이스의 메소드객체 추가\-> add(Object obj) : 맨 끝에 추가\-> add(

: 객체의 주소를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 등이 있다.변수들은 모두 Stack 메모리 영역에 생성됨\-> primitive type 변수들은 값을 직접 가짐\-> 참조 타입 변수들은 주소를 저장함: 바이트코드 파일을 읽은 내용이 저장되는 영역
SOLID를 모두 무조건 지키는 건 어려움SOLID 원칙을 따르면 객체 지향적으로 코드를 짜기 용이객체지향의 목적: 유지보수하기 쉬운 코드\-> 기존 코드를 최대한 유지하는 방향interface : 사용설명서class : interface에 맞게 제품 라인을 구축 해놓

: 서로 관련이 있는 변수들을 한 곳에 모으기 위해 사용(데이터를 옮기거나 변경 시 한 번에 처리하기 용이)한 파일에 한 클래스, 파일명 = 클래스명\-> JAVA의 프로그램은 클래스의 집합클래스도 하나의 Type (int, double, str ...)\-> int,

: 이미 잘 개발된 부모 클래스를 재사용해 자식 클래스에게 물려주기 때문에 중복되는 코드를 줄여 개발 시간을 단축시킴IS - A 관계 (가장 추상적인 클래스가 부모 클래스)\-> Notebook is a Computer (O)\-> Coputer is a Noteboo
인터페이스 역할 : 두 객체를 연결해주는 역할 객체 A가 객체 B를 직접 사용하면 될텐데 인터페이스를 사용하는 이유? 만약 객체 B가 객체 C로 변경된다면, 객체 A는 인터페이스의 메소드만 사용하기에 관심이 없음 근데 A가 B를 직접 사용한다면 A의 코드를 B에서 C

: 클래스 내부에 선언한 클래스클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스만 관계를 맺을 경우에는 중첩 클래스로 선언하는 것이 유지보수에 좋음클래스 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의

예외 상황 발생에러와 관련된 정보를 가지고 있는 Exception 객체가 생성됨Exception 객체가 소멸되지 않으면 프로그램은 비정상적 종료Checked Exception : 컴파일 시에 예외 처리를 해 주었는지 체크하는 Exception\-> IOException

: 부모 클래스의 모든 기능을 자식 클래스가 상속 받음\-> 코드 중복 최소화IS - A 관계 (가장 추상적인 클래스가 부모 클래스)\-> Notebook is a Computer (O)\-> Coputer is a Notebook (X)생성자가 없을 경우 자동으로 n

: 데이터 형식에 의존하지 않고 한 값이 여러 데이터 타입을 가질 수 있게 함으로써 코드의 재사용성을 높이는 개념.Generic한 변수/자료구조\-> Object object;Generic한 알고리즘\-> Arrays.sort();Generic한 클래스\-> Gener