객체 지향 프로그래밍 (OOP : Object Oriented Programming)
프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
객체 지향 프로그래밍의 특징
- 상속성
- 다형성
- 추상화
- 캡슐화
- 은닉화
클래스와 객체
- 클래스 : 객체의 설계도, 객체를 정의해 놓은 것
- 객체 : 실제로 존재하는 것, 사물 또는 개념, 무형의 객체
- 인스턴스 : 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
- 인스턴스화 : 클래스로부터 객체를 만드는 과정
객체의 구성요소
- 속성(property) = 멤버 변수 = 필드(field)
- 기능(function) = 멤버 함수 = 메서드(method)
클래스를 설계하는 과정
- 객체의 요구 분석
- 객체의 구성요소 파악 -> 목록 작성
- 클래스 선언 (정의, 설계)
- 객체 생성 + 테스트
- 문제점 파악 -> 유지, 보수
- 상용화
- 기능 추가, 문제점 보완 - 버전 관리
클래스 선언 형식
[접근지정자] [기타제어자] class 클래스명 [extends 부모클래스] [implements 인터페이스...] {
}
클래스 선언시 접근지정자 종류
- public : 패키지 내부/외부 어디서든 상속과 참조 가능
- default : 패키지 내부에서만 상속과 참조 가능
- protected : 패키지 내부에서만 상속과 참조 가능, 패키지 외부에서는 상속만 가능
- private : 같은 파일 내에서만 상속과 참조 가능
클래스 앞에 붙는 기타제어자
- abstract : 추상(abstract) 클래스
- final : 최종 클래스
- static (비활성화) : 정적(static) 클래스
클래스 -> 객체 생성하는 방법 (형식)
클래스자료형 변수명 = new 클래스자료형();
필드 선언 형식
[접근지정자] [기타제어자] 자료형 변수명[=초기값];
멤버변수 (필드) 선언시 접근지정자 종류
- public : 패키지 내부/외부 어디서든 참조 가능
- default : 패키지 내부에서만 참조 가능
- private : 클래스 내부에서만 참조 가능
- protected : 패키지 내부에서만 참조 가능 + 상속 자식클래스에서 참조 가능
멤버 앞에 붙는 기타제어자 설명
- static : 정적 필드, 정적 메서드
- final : 상수 필드, 재정의 X 메서드
- transient
- volatile
반응형
'Backend > JAVA' 카테고리의 다른 글
[JAVA] static 변수와 static 메소드 (0) | 2021.09.18 |
---|---|
[JAVA] 상속(inheritance) (0) | 2021.09.16 |
[JAVA] 이진 탐색, 이진 검색 (Binary Search) (0) | 2021.09.12 |
[JAVA] 2차원 배열을 1차원 배열로 변환 (0) | 2021.09.12 |
[JAVA] 배열 - 배열의 크기를 증가 시키고 요소 삽입 (0) | 2021.09.03 |