객체지향언어
1, 코드의 재사용성이 높다.
2. 코드의 관리가 용이하다.
3. 신뢰성이 높은 프로그래밍을 가능하게 한다.
클래스와 객체
클래스의 정의 : 객체를 정의해 놓은 것
클래스의 용도 : 객체를 생성하는데 사용
객체의 정의 : 실제로 존재하는 것. 사물 또는 개념
객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
유형의 객체 : 책상, 의자, 자동차, TV와 같은 사물
무형의 객체 : 수학공식, 프로그램 에러와 같은 논리나 개념
객체 : 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있다.
인스턴스 : 어떤 클래스로 부터 만들어진 것인지를 강조하는 것 보다 구체적인 의미를 갖고 있다.
클래스 -(인스턴스화)> 인스턴스(객체)
객체의 구성요소 - 속성과 기능
속성 = 멤버변수, 특성, 필드, 상태
기능 = 메서드, 함수, 행위
인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야 한다.
참조변수가 없는 인스턴스는 더 이상 사용될 수 없으므로 가비지 컬렉터에 의해 자동적으로 메모리에서 제거된다.
여러개의 참조변수가 하나의 인스턴스를 참조하는 것은 가능하지만 하나의 참조변수가 여러개의 인스턴스를 참조할 수는 없다.
객체 배열
참조변수들을 하나로 묶은 참조 변수 배열을 뜻한다.
클래스의 또 다른 정의 (프로그래밍적인 관점)
클래스 - 객체를 생성하기 위한 틀, 속성과 기능으로 정의
1. 클래스 - 데이터와 함수의 결합
데이터 저장개념의 발전과정
변수 -> 배열 -> 구조체 -> 클래스
(1) 변수 - 하나의 데이터를 저장할 수 있는 공간
(2) 배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
(3) 구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간
(4) 클래스 - 데이터와 함수의 결합(구조체 + 함수)
2. 클래스 - 사용자정의 타입(user - defined type)
프로그래머가 서로 관련된 변수들을 묶어서 하나의 타입으로 새로 추가하는 것
'Backend > Java' 카테고리의 다른 글
자바의 정석 정리(27) - 메서드 ① (0) | 2022.06.16 |
---|---|
자바의 정석 정리(26) - 변수 (0) | 2022.06.15 |
자바의 정석 정리(24) - 다차원 배열 (0) | 2022.06.10 |
자바의 정석 정리(23) - String 배열 ② (0) | 2022.06.08 |
자바의 정석 정리(22) - String 배열 ① (0) | 2022.06.07 |