객체지향 언어의 특징은
코드의 재사용성이 높고 유지보수가 용이, 중복 코드 제거
객체지향 언어는 프로그래밍 언어 + 객체지향개념(규칙)이 추가된 것이다.
객체 지향언어의 핵심적인 4가지 특징
OOP(Object-Oriented Programming)
1. 캡슐화
2. 상속
3. 추상화
4. 다형성⭐
클래스와 객체
클래스란? 객체를 정의해 놓은 것
어디에 쓰일까? 클래스 객체를 생성하는데 사용
객체의 정의? 실제로 존재하는 것, 사물 또는 개념
객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르다.
객체와 인스턴스
객체 : 모든 인스턴스를 대표하는 일반적인 용어
인스턴스 : 특정 클래스로부터 생성된 객체(예: Tv인스턴스)
설계도를 가지고 제품을 만드는 것을 인스턴스화 라고 한다.
클래스 ----- 인스턴스화 ----> 인스턴스(객체)
하나의 파일에 클래스를 두개 넣을 수 있음.
Hello.java
public class Hello{
}
class hello2{}
public이 있는 경우 , 소스파일의 이름은 반드시 pulic class의 이름과 일치해야 한다.
객체의 생성과 사용
1. 객체의 생성
클래스명 변수명; 클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
Tv t; Tv클래스 타입의 참조변수 t를 선언
t = new Tv();Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장
2. 객체의 사용
t.channel = 7; Tv인스턴스의 참조변수 t의 멤버 변수 channel의 값을 7로 한다. Tv클래스형의 t는 참조변수 이다.
t.channelDown(); // Tv인스턴스의 메서드 channelDown()을 호출한다.
객체 배열
객체 배열 == 참조변수 배열
Tv tv1, tv2, tv3; 를 배열로 바꾸면
Tv[] tvArr = new Tv[3];
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
Tv[] tvArr = { new Tv(), new Tv(), new Tv()};
클래스의 정의
클래스 == 데이터 + 함수
클래스의 정의
- 설계도
- 데이터 + 함수
- 사용자 정의 타입
1. 변수 하나의 데이터를 저장할 수 있는 공간
2. 배열 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간
3. 구조체 서로 관련된 여러 데이터(종류 관계X)를 하나로 저장할 수 있는 공간
4. 클래스 데이터와 함수의 결합(구조체 + 함수)
사용자 정의 타입? - 원하는 타입을 직접 만들 수 있다.
int hour;
int minute;
int second;
'Java' 카테고리의 다른 글
Java : 메서드, return , 호출 스택 (2) | 2021.11.06 |
---|---|
Java : 변수 종류, 인스턴스 변수, 클래스 변수 (0) | 2021.10.29 |
Java : Optional이란? (0) | 2021.09.04 |
Java : 스트림의 연산,중간 연산(2) - 기초 (0) | 2021.09.04 |
Java : 스트림의 연산,중간 연산(1) - 기초 (0) | 2021.09.03 |