본문 바로가기
국비 교육/백엔드(Java, Spring)

[자바] 자바 기초 -2

by 육츠 2024. 1. 16.
Contents 접기

객체지향 프로그래밍 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