본문 바로가기
Java | spring/자바 객체지향

객체지향과 절차지향 프로그래밍?!

by 워니 wony 2019. 5. 6.

절차(순차)지향 프로그래밍

  - 기능 중심(객체지향 전에는 절차지향이 었음) /  C 언어

  - 위에서 아래로 순서대로 읽으면서 실행하기 때문에 코드를 이해하기 쉽다.

  - 대부분 코드를 main 함수에 만든다. C는 처리 속도가 가장 빠른 언어

 

사용자의 요구조건이 복잡해 짐에 따라 전역변수(모든 명령어에서 사용 가능한 변수) 사용했다.

c 기능에서는 사용 해야 하는데도 사용하다 보니 문제가 생기게 되었다.

 

a( 변수1 )

b( 변수2 ,변수3  )

c(  )

 

절차지향에서는 조립의 개념이 없고, 기능을 조립할 없었다. 그런다 보니 코드가 반복되는 경우가 발생하고, 복잡한 프로그램의 경우 효율이 떨어지게 되었다. 

객체지향 프로그래밍에서는 기능을 서로 조립할 있기 때문에 현재는 객체 지향 언어인 JAVA를 많이 사용하는 추세!

 

 

 

객체 지향 프로그래밍 언어

  - java, c++

  - 파이썬도 객체를 지향하지만 자바 입장에서 흉내 낸다고 생각할 있다.

  - java c++같은 프로그램 언어를 "객체지향 프로그래밍"이라 한다.

 

 

객체지향이란?

 Object Oriented Programming(OOP)

==> 현실세계의 모든 (눈에 보이는 , 눈에 보이지 않는 개념적(추상적)) 객체화 있다.

 

 

객체

=> 세상을 구성하고 있는 모든 (눈에 보이는 , 추상적 ) 객체

=> 그러한 객체들은 객체를 구성하기 위한 여러가지 속성들로 구성되어 있다.

=> 특정한 기능(메소드) 포함 가능

=> 우리가 자바언어로 현실세계의 객체를 표현하려면 표현하고자 하는 객체에 대하여 속성과 동작을 분석해야 한다.

 

=> 그것에 대한 설계도를 만들어야 하는데, 설계도 만드는 것을 "클래스"라 한다.

 

 

클래스란?

객체를 표현(만들기)하기 위한 (설계도).

 

, 클래스를 자바가 제공하는 기본자료형 만으로는 프로그램 하기가 복잡하여 내가 새로운 자료형을 만들어야 한다.

새로운 세트(자료형, ) 하나 만들 있는데 새로운 자료형 만드는 것은 "클래스를 만든다"라고 이야기 있다.

 


사람 person

 

속성(멤버 변수)

이름 String name    "홍길동"

나이 int age           26

 

동작(멤버 메소드)

먹는다    void eat(String some)

걷는다    void walk()


 

클래스를 사용하려면 클래스형의 객체를 생성하고  객체를 통해서 사용할 있다.

 

클래스에 변수에 넣기, 기능을 가져와 쓰는 문법

 

변수를 가져오는 경우에는 아래와 같이 쓴다.

p1.name = "홍길동";

만약 변수가 아닌 기능을 사용하는 것은

p1.setName("홍길동");

 

Person p1 = new Person();

 

p1.setName("홍길동");

p1.setAge(20);

p1.eat("햄버거");

p1.walk();

반응형

댓글