[목차]
01. 객체 지향 프로그래밍
객체 지향 프로그래밍(OOP)
👉🏻객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법
객체 지향 프로그래밍의 특징
👉🏻캡슐화 : 객체의 데이터(필드), 동작(메소드)을 하나로 묶고, 실제 구현 내용을 외부에 감추는 것상속 : 부모 객체가 자기 필드와 메소드를 자식 객체에게 물려줘 자식 객체가 사용할 수 있게 함
➡️ 코드 재사용성 높이고, 유지 보수 시간 최소화
다형성 : 사용 방법은 동일하지만 실행 결과가 다양
02. 객체와 클래스
클래스와 인스턴스
👉🏻객체 지향 프로그래밍에서도 객체를 생성하려면 설계도에 해당하는 클래스가 필요클래스로부터 생성된 객체를 해당 클래스의 인스턴스라고 부름
클래스로부터 객체를 만드는 과정을 인스턴스화라고 함
동일한 클래스로부터 여러 개의 인스턴스를 만들 수 있음
03. 클래스 선언
클래스 선언
👉🏻객체를 생성(생성자)하고, 객체가 가져야 할 데이터(필드)가 무엇이고, 객체의 동작(메소드)은 무엇인지를 정의클래스 선언은 소스 파일명과 동일하게 작성
➡️ public class 클래스명 { … }
클래스명은 첫 문자를 대문자로 하고 캐멀 스타일로 작성한다.
숫자를 포함해도 되지만 첫 문자는 숫자가 될 수 없고, 특수 문자 중 $, _를 포함할 수 있다.
공개 클래스 : 어느 위치에 있든지 패키지와 상관없이 사용할 수 있는 클래스
04. 객체 생성과 클래스 변수
클래스 변수
👉🏻클래스로부터 객체를 생성하려면 객체 생성 연산자인 new가 필요new 연산자는 객체를 생성시키고 객체의 주소를 리턴
➡️ 클래스 변수 = new 클래스();
라이브러리 클래스 : 실행할 수 없으며 다른 클래스에서 이용하는 클래스
실행 클래스 : main() 메소드를 가지고 있는 실행 가능한 클래
05. 클래스의 구성 멤버
생성자, 필드, 메소드
👉🏻필드 : 객체의 데이터를 저장하는 역할. 선언 형태는 변수 선언과 비슷하지만 쓰임새는 다름생성자 : new 연산자로 객체를 생성할 때 객체의 초기화 역할. 선언 형태는 메소드와 비슷하지만, 리턴 타입이 없고 이름은 클래스 이름가 동일
메소드 : 객체가 수행할 동작. 함수로도 불림
06. 필드 선언과 사용
필드 선언
👉🏻필드는 클래스 블록에서 선언되어야 한다.➡️ 타입 필드명 (= 초기값) ;
➡️ 타입은 필드에 저장할 데이터의 종류를 결정. 기본 타입, 참조 타입 모두 가능
➡️ 초기값을 제공하지 않을 경우 필드는 객체 생성 시 자동으로 기본값으로 초기
07. 생성자 선언과 호출
기본 생성자
👉🏻클래스에 생성자 선언이 없으면 컴파일러는 기본 생성자를 바이트코드 파일에 자동으로 추가기본생성자 ➡️ public 클래스명() { … }
생성자 선언
👉🏻객체를 다양하게 초기화하기 위해 생성자를 직접 선언할 수 있다.➡️ 클래스명(매개변수, …) { … }
생성자는 메소드와 비슷한 모양을 가지고 있으나, 리턴 타입이 없고 클래스 이름과 동일
매개변수의 타입은 매개값의 종류에 맞게 작성
08. 메소드 선언과 호출
09. 인스턴스 멤버
인스턴스 멤버 선언 및 사용
👉🏻인스턴스 멤버 : 필드와 메소드 등 객체에 소속된 멤버
10. 정적 멤버
11. final 필드와 상수
12. Getter와 Setter
13. 싱글톤 패턴
tag : #java #자바 #객체 #OOP #클래스 #선언 #호출 #생성자 #필드 #인스턴스화 #정적 #static #final
Uploaded by N2T