객체지향 프로그래밍 OPP Object - Oriented - Programming
프로그래밍을 데이터 입력하고 순서대로 처리한 후 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임
객체 object : 객체 지향 프로그래밍의 가장 기본적 단위
객체 지향 언어의 특징
특징 | 내용 |
추상화 abstraction | 현실 세계의 사물이나 개념에서 공통된 속성과 기능을 추출하여 객체로 표현 하는 것 |
상속 inheritance | 기존 정의되어 있는 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소 (반복적 정의를 줄여줌) |
다향성 polymorphism | 어떤 객체의 속성이나 기능이 상황에 따라 여러가지 형태를 가질 수 있는 성질 |
캡슐화 encapsulation | 클래스 안에 서로 연관되어 있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로 부터 보호하는 것 (데이터 보호, 데이터 은닉) |
객체 지향 언어의 구조
클래스: 자바 프로그램의 기본단위
생성자 : 멤버 변수의 초기화 등에서 사용되는 메소드 일종
메소드 : 클래스에서 실행되는 작업
변수 : 데이터를 저장하는 공간
<접근 지정자> class <class 이름> {
<멤버변수 선언>
<생성자>
<메소드 선언>
}
변수
<접근지정자><변수 type><변수 이름> [ = <default value>]
1) 지역 변수 local variable
- 메소드 내에서 선언되고 사용 후 폐기.
- { } 내부에서 선언된 변수이다.
- 지역 변수는 반드시 초기화
- stack 에서 만들어졌다.
stack : 먼저 들어온 데이터를 나중에 처리하는 방식 (FILO / LIFO) 예: 메소드 Call
queue : 먼저 들어온 데이터를 먼저 처리하는 방식 (FIFO) 예: CPU 데이터 처리, 프린트 대기열
2) 멤버 변수 member variable
- 클래스 내부에서 선언된 변수
- 클래스를 대표하는 명사적 요소
- 클래스가 생성됨과 동시에 멤버 변수로 생성됨
- 클래스가 메모리에서 사라지면 함께 사라진다.
- 멤버변수는 초기값이 존재한다. ( int, char = 0 / double = 0.0 / boolean = false )
3) 클래스 변수 class variable
- 클래스 내부에서 선언된 변수 앞에 static 지정자가 붙은 변수
- JVM이 구동됨과 동시에 클래스 변수가 생성됨
- JVM이 종료되면 사라진다.
라이프 사이클 : 지역 변수 < 멤버 변수 < 클래스 변수
자바와 파이썬의 차이
파이썬
rf = RF ()
자바
rf = new RF(); // 생성
rf._in; // 멤버 변수 사용
rf.pre(); // rf 안의 함수 사용
메모리에서 사라지게 하려면? rf = null; 을 해주면 된다.
파이썬과 다르게 전역변수가 없다. (클래스 변수가 전역변수의 역할을 함)
변수 특징
타입이 정해져 있기 때문에 다른 타입의 값을 변수에 넣을 수 없다.
예
int age = 29;
age = "스물 아홉" => X (다른 타입이기 때문에 불가능)
'국비 교육 > 백엔드(Java, Spring)' 카테고리의 다른 글
[자바] 반복문 -1 (While) (0) | 2024.01.17 |
---|---|
[자바] 연산자 Operator -2, Switch (0) | 2024.01.17 |
[자바] 키보드로부터 입력 (0) | 2024.01.16 |
[자바] 자바 기초 -1 (0) | 2024.01.16 |