on
[JAVA] 객체 지향 프로그래밍 (OOP)
[JAVA] 객체 지향 프로그래밍 (OOP)
객체 지향 프로그래밍 (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
from http://choitaetae.tistory.com/52 by ccl(A) rewrite - 2021-09-14 23:27:18