객체 : 우리 주변의 모든 것. 고유한 특성과 기능을 가지고 있다.
객체지향 : 실세계의 객체를 프로그램내에 표현하기 위해 클래스와 객체 개념을 도입한 것.
캡슐화 : encapsulation : 자바가 지향하는 코드 스타일
상속 : inheritance, 부모가 자식에게 가진 것들을 물려주는것.
다형성 : polymorphism
- 상속관계에서 성립
- 같은 이름의 메서드가 클래스나 객체에 따라
- 기능이 다르게 동작하도록 구현되는 것을 말함.
절차지향 : 순서대로 진행되는 코드방식(급식실?)
객체지향 : 부품처럼 서로 상호작용하며 진행되는 방식
1) 클래스 (설계도)
2) 객체
3) 객체와 인스턴스
4) 객체 (속성 + 기능)
5) 인스턴스(객체) 생성과 사용
# 클래스 구조
class 클래스명 {
변수 (속성, 필드)
메서드
}
6) 인스턴스(객체) 생성
#선언
클래스명 참조변수명;
scanner sc;
#생성
참조변수 = new 클래스명();
sc = new Scanner(System.in);
#줄여서
클래스명 참조변수명 = new 클래스명();
Scanner sc = new Scanner(System.in);
* new : 새로운 클래스 모양의 메모리를 새로 점유시키는 중요한 키워드
7) 객체 멤버(변수 or 메서드)에 접근 : 점(.) 연산자를 사용
sc.nextLine();
정리
클래스 == 사용자 정의 데이터 타입 (내맘대로 정의 가능함)
기본형 : 메모리 양이 정해진 것
참조형(클래스) : 개발자가 필요한 만큼 메모리를 직접 지정해서 만든 것.
클래스 : 유사한 특성을 지난 객체들의 "속성"과 가능을 묶어놓은 집합
객체 : 실제 존재하는 object 들을 말함.
1) 클래스 변수
2) 인스턴스 변수
3) 지역변수
클래스 영역 생성 -> static 실행 -> main 실행 -> new~ instance | 클래스 범위 만들고 | 메인메서드 포함.메모리에 로딩 | main이 있으면 실행 | new 객체 생성할 때마다 각각 메모리에 로딩