객체지향 언어의 특징은

 

코드의 재사용성이 높고 유지보수가 용이, 중복 코드 제거

 

객체지향 언어는 프로그래밍 언어 + 객체지향개념(규칙)이 추가된 것이다.

 

객체 지향언어의 핵심적인 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;

+ Recent posts