객체지향 vs 절차지향 , 생성자에 대해서

2024. 7. 1. 17:26·JAVA

절차지향 : 프로그램을 "순서에 맞게" 작성하는 것 (ex:  C)
>> 흐름도
 
vs

객체지향 : 프로그램을 "객체 단위로" 나누어 작성하는 것(ex: JAVA, C#)
>> 객체지향 코딩 특히 웹에서는.
>> 순서가 사용자에 의해 변경되기때문


예시 ) 
커피 주문 어플 아아 >> 카페라떼
카페라떼 >> 아아

마이페이지가서 비밀번호 변경하고 >> 주문

절차지향으로는 한계가 있다.


클래스란 ?

class 는 객체지향 코딩의 기본단위이며,
자료형이라고 봐도 ..무방하다 ( ※ class != 배열)
이해하기 쉽게, class란 원시타입 int, double, .... 그냥 데이터 공간 이라고 봐도 무방하다.

 

(대문자로 시작하는)== 클래스 타입인 객체들은 new 연산자를 활용한다.

 

클래스 변수명 = new 생성자();
클래스로 만든 변수 == 객체(instance, 인스턴스)
≒
붕어빵틀로 붕어빵 만든다.
클래스로 객체(인스턴스)를 만든다.
1 : N

 



★ 생성자 함수란 ?

  • 클래스명과 동일한 함수이다.
  • new 연산자랑 함께 사용되며,
  • 객체를 생성하는 목표를 가진다.
    >> 생성자 함수는 수행 결과, 당연히 객체를 반환하기 때문에 반환타입 명시 xxx
  • 내부의 값을 모두 초기화시켜주는 역할을 담당
    >> heap 메모리 영역을 사용하기에 가능한 일!
    >> 멤버변수 초기화
    • 내부의 값 == 멤버변수, 필드, 속성, attribute, property,...
  • JAVA 에서 기본 제공해줌
Pokemon pica = new Pokemon(); // 기본생성자 제공 O
Student stu = new Student("홍길동"); // 기본생성자 제공 X

/*
Pokemon : 자료형, JAVA 객체지향 코딩의 기본단위
Pika : 변수명, new로 만들었기때문에 객체명
new : 클래스로 변수(객체)를 생성할 때 사용하는 연산자
Pokemon() : 생성자 함수. 클래스명과 동일하는 특징
*/

사용자가 생성자를 정의하지 않은 경우에는 기본 생성자가 제공된다.
만약, 사용자가 하나라도 직접 생성자를 정의하면, 더이상 기본 생성자는 제공되지 않는다. ★중요★






 

'JAVA' 카테고리의 다른 글

JAVA - static, final 키워드  (0) 2024.07.02
JAVA 메서드 오버로딩  (0) 2024.07.02
JAVA 함수를 이용해서 학생부 프로그램 만들기  (0) 2024.07.01
JAVA 함수  (0) 2024.06.28
반복문과 배열 예제 풀이  (0) 2024.06.27
'JAVA' 카테고리의 다른 글
  • JAVA - static, final 키워드
  • JAVA 메서드 오버로딩
  • JAVA 함수를 이용해서 학생부 프로그램 만들기
  • JAVA 함수
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    ViewResolver
    DispatcherServlet
    Di
    이벤트 스케줄러
    오버로딩
    수제비
    Spring
    멘토씨리즈 자바
    @Component
    정보처리기사 실기
    상속
    스프링 프레임워크
    recoverabledataaccessexception
    codeup 4891 : 행복
    @repository
    MVC
    정처기
    java
    jsp
    aop
    2-layered 아키텍처
    @service
    오블완
    html
    생성자
    객체지향
    정보처리기사
    어노테이션
    정처기 실기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
객체지향 vs 절차지향 , 생성자에 대해서
상단으로

티스토리툴바