
네이버에 등록된 글을 tistory로 옮겨볼게요!
안녕하세용
오늘은 객체지향에 대해서 정리해보려고 합니다
객체지향 언어를 사용하는 이유는
1. 코드의 재사용성이 높다.
2. 코드의 관리가 용이하다.
3. 신뢰성이 높은 프로그래밍을
가능하게 한다.
이 3가지 이유 때문인 걸 알고 있어야 합니다.
그 전까지는 우리가
절차적 언어를 사용하여 프로그래밍을 했다면,
조립을 하듯, 필요한 순간에
필요한 부품을 사용하여 만드는 것 처럼
프로그래밍을 하는 게
객체지향 프로그래밍이라고 생각하면 좋을 것 같아요.
<클래스>
- 객체를 정의해 놓은 것
- 객체의 설계도, 또는 틀
ex) 붕어빵 기계, TV 설계도
-> 객체를 생성하는 데 사용
<객체 ; 인스턴스>
클래스에 정의된 내용대로 메모리에 생성된 것
ex) 붕어빵, TV
[객체의 구성 요소]
- 속성(멤버 변수 / 붕어빵 길이, 크기)
- 기능(메소드 / 붕어빵 뒤집기, 붕어빵 반죽 짜기)
두 종류의 구성 요소로 이루어져 있습니다.
이 두 가지를 합쳐서 멤버(속성/기능)라고 합니다.
인스턴스화
클래스 ------------> 객체(인스턴스)
; (붕어빵)객체는 (붕어빵 기계)클래스의 인스턴스
<인스턴스의 생성 / 사용>
클래스명 (참조)변수명 = new 클래스명();

<변수>

[인스턴스 변수]
- 독립적인 저장 공간을 가짐
- 서로 다른 값 가질 수 있음
[클래스 변수]
- 변수 앞에 static 붙임
- 공통된 저장 공간을 공유
- 모든 인스턴스들이 공통적인 값을 유지해야 하는 경우 사용(붕어빵 사이즈)
[지역 변수]
- 메소드 내에서만 사용 가능(임시)
<메소드 선언>
반환타입 메서드이름 ( 매개변수(입력) ) {
(지역변수)
return 반환타입 ;
}
// 반환타입 없는 것 = void – return;
[인스턴스 메소드]
- 객체를 생성해야만 호출 가능
[클래스 메소드]
- 메소드 앞에 static
- 객체를 생성하지 않고
" 클래스이름.메소드이름(매개변수) "로 호출 가능
- 인스턴스 변수를 사용하기 위해서 객체 생성 필요
<오버로딩>
- 한 클래스 내에 같은 이름의 메소드 여러개
- 메소드 이름이 같아야 함
- 매개변수의 개수 도는 타입이 달라야 함
ex)
붕어빵(더큰, 피자){
}
붕어빵(팥){
}
<생성자>
- 인스턴스 초기화 메소드
+ 인스턴스 초기화는 인스턴스 변수들을 초기화하는 과정
- 클래스 이름과 같아야 함
- 리턴 값이 없음
- 객체 생성 할 때, new 뒤에 오는
"클래스이름()"이 생성자
+
매개변수가 없는 생성자는 기본(default) 생성자
: 생성하지 않아도 자동으로 생김
만일, 생성자에서 다른 생성자를 호출 하려면
- 첫째 줄에 this() 혹은this(매개변수)
<변수 초기화>

클래스가 무조건 인스턴스보다 먼저 초기화 진행
static {
//클래스 초기화 블록
}
{
//인스턴스 초기화 블록
}
예시
(제가 그냥 아무 내용 없이 한거니까 모양만 보세요,,)


'개발자 되기' 카테고리의 다른 글
| [Web•웹] 외부 라이브러리 jstl 참조 방법 (이클립스) (24.04.12) (0) | 2024.08.27 |
|---|---|
| [Mysql] 다운로드 / 간단한 예제 (24.03.26) (0) | 2024.08.27 |
| [Java•자바] 배열 / 메소드 사용 없이 배열 늘리기 (24.03.12) (0) | 2024.08.27 |
| [Java•자바] 이클립스(Eclipse)주석 처리 단축키 / 블록 주석 오류 해결법 (24.03.04) (0) | 2024.08.27 |
| [Java•자바] 개발 환경 다운로드 및 초기 설정 ; 이클립스, jdk 17 (24.02.29) (0) | 2024.08.26 |