728x90
2022 / 9 / 8 목
- 객체
- 클래스
- 생성자
- 메소드
✔️ 객체
객체 지향 프로그래밍
OOP: Object Oriented Programming
부품 객체를 먼저 만들고 이것들을 하나씩 조립해 완성된 프로그램을 만드는 기법
객체와 클래스
현실 세계에서 설계도가 객체라면
자바에서는 클래스가 객체이다.
클래스에는 객체를 생성하기 위한 필드와 메소드가 정의된다.
c++, c#, java 언어
- 클래스 기반의 객체지향언어
더보기
기업체
- 고객관리(회원)
회원(객체)
속성(필드 : 변수) : 품사(명사)
이름, 나이, 성별, 몸무게 ,,, 등
기능(동작, 행위 : 메서드) : 품사(동사)
- 회원가입, 회원수정, 회원삭제 , ...등
public class Member {
// 내용
// 속성
String name;
int age;
char gender; // 'M' , 'F'
// 기능
void register() {
}
void modify() {
}
void login() {
}
}
✔️ 클래스
클래스의 이름
+ 알파벳 대소문자는 서로 다른 문자로 인식한다.
클래스의 구성 멤버
public class ClassName { } | ||
필드 Field | 객체의 데이터가 저장되는 곳 | int fieldName; |
생성자 Constructor | 객체 생성 시 초기화 역할 담당 | ClassName( ) { ... } |
메소드 Method | 객체의 동작에 해당되는 실행 블록 | void methodName( ) { ... } |
필드사용
- 필드값을 읽고, 변경하는 작업
객체 내부 : 필드이름으로 바로 접근
객체 외부 : 변수.필드이름 으로 접근
✔️생성자
생성자?
- new 연산자와 같이 사용되어 클래스로부터 객체를 생성할때 호출되어 객체의 초기화를 담당한다 .
✨ new는 heap영역 메모리생성자
생성자 오버로딩
- 매개 변수를 달리하는 생성자를 여러 개 선언하는 것을 말한다.
//생성자 오버로딩 : 생성자메서드를 여러개 정의가 가능하다.
public class Car {
//필드
String company = "현대자동차";
String model;
String color;
int maxSpeed;
//생성자
Car()
{
}
Car(String model)
{
this.model = model;
}
Car(String model, String color)
{
this.model = model;
this.color = color;
}
}
생성자 오버로딩이 많아질 경우 생성자 간의 중복된 코드가 발생
-> 초기화 내용을 한 생성자에 몰아 작성, 나머지 생성자는 초기화 내용을 가지고 있는 생성자를 호출하는 방법으로 개선
✔️ 메소드
메소드?
- 객체의 동작에 해당하는 중괄호 { } 블록을 뜻한다.
'🏃♀️ Do it ! > TIL' 카테고리의 다른 글
final 클래스 / 접근 제한자 / 오라클 설치 (0) | 2022.09.14 |
---|---|
인스턴스 멤버 , 정적 멤버 / 싱글톤 / final 필드 , 상수 / 패키지 / 상속 / 메소드 재정의 (0) | 2022.09.13 |
자바 배열 / 열거 타입 (0) | 2022.09.07 |
연산자 / 이클립스 디버깅 (0) | 2022.09.06 |
실수형 타입 / 형변환 (0) | 2022.09.05 |