절차지향 : 프로그램을 "순서에 맞게" 작성하는 것 (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 |