본문 바로가기
JAVA

[JAVA] 객체지향프로그래밍 OOP (Object Oriented Programming)

by GoodDayDeveloper 2020. 4. 5.
반응형

 

 

 

 

오늘은 객체지향프로그래밍에 대해 정리해보려합니다..

맨날봐도 까먹지만 완벽히 이해하는 그날까지 ㅜㅜ

 

 

 

객체지향프로그래밍 OOP (Object Oriented Programming)

 

 

클래스를 복재해서 서로 다른 내부적인 상태를 갖고 있는 복제본을 인스턴스 하는 것.

(Interface : 서로간의 약속을 규약하기 위해서 사용)

클래스와 인스턴스를 포괄적으로 객체라한다. 

객체를 뼈대로하는 프로그램을 만드는 방법을 객체 지향이라 한다.

 

 

객체 생성 방법

 

 

클래스 (  )에 저장하고 싶은 이름을 적어주고, 클래스 앞에 NEW를 붙일 경우 

(  ) 안 텍스트에 데이터를 저장하겠다라는 상태를 가지고 있는 클래스에 복제본이 생긴다.

앞에 변수를 만들어주고 변수 타입은 클래스 이름을 적어준다.

 

FileWriter f1 = new FileWriter("data.txt")             // f1에는 filewriter를 복제한 filewriter의 인스턴스 생성

f1.writer("hello");                                   // 인스턴스의 메서드를 호출을 통해서 그 인스턴스를 조작할 수 있게 된다.

f1.writer("java");

f1.close();

 

출력하면 hello와 java라는 텍스트가 기록된 data.txt 파일이 만들어진다.

new를 붙여 f1이라는 변수에 담기는 복제본이다.

(복제본은 내부적으로 data.txt 파일에 담기겠다라는 내용이 담기는 상태)

class: filewriter , instence : f1, f2가 가지고 있는 값

 

 

 

 

인스턴스화

 

클래스 p1 = new 클래스();

print p1 = new print();

static은 클래스 소속이기때문에 static을 지워준다.

(Static은 클래스 소속, Static이 없는 것은 instance 소속이다.)

 

 

객체지향프로그래밍의 장단점

 

장점

1) 생산성 향상 - 라이브러리 재사용

2) 재사용 - 하위 클래스들이 상위 클래스의 속성을 표현한 코드를 재사용

3) 유지보수의 용이성 - 상속을 통하여 기존의 기능을 활용하고 조냊하지 않은 새로운 속성만 추가 가능

4) 대형 프로젝트 적합 - 객체단위 모듈화 개발 가능

 

단점

1) 속도 느림

2) 객체가 많으면 용량이 커진다.

3) 설꼐시 많은 시간이 든다.

반응형

댓글