잊기

[Java] 객체지향 프로그래밍의 성격과 정의 본문

Java

[Java] 객체지향 프로그래밍의 성격과 정의

잊기 2023. 4. 21. 11:01

- 객체 : 구체적, 추상적 데이터 단위

- 객체지향 프로그래밍 ( OOP ) : 객체를 기반으로 하는 프로그래밍

- 절차적 프로그래밍 : 시간의 흐름에 따른 프로그래밍

- 객체 지향 프로그래밍 : 객체를 정의, 기능을 구현한 후, 객체 사이의 협력을 구현

유지 / 보수가 편리

- 클래스 : 객체에 대한 속성과 기능을 코드로 구현한 것

객에에 대한 청사진 (클래스를 이용해 객체를 찍어낼 수 있음)

하나의 파일에 하나의 class가 원칙이나 여러개의 class가 있는 경우

public 클래스는 하나여야 함 !

클래스의 속성 : 개체의 특성, 속성, 멤버변수 등

클래스의 기능 : 객체가 하는 기능들을 method로 구현

 

( 접근제어자 ) class 클래스명 {

멤버변수 ;

메서드;

}

- method : 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수

- 함수 : 하나의 기능을 수행하는 코드

- 패키지 : 소스의 묶음 카테고리

계층구조, 소문자로 명명

new 코드로 인스턴스를 생성하여 사용

- 참조변수와 참조값

참조변수 : 인스턴스 생성시 선언하는 변수 ex) int age;

참조값 : 인스턴스가 생성되는 힙 메모리 주소 ex) person.age = " "

- 생성자 : 인스턴스를 초기화할 때의 명령어 집합

하나의 클래스에 하나 이상의 constructor가 존재, 리턴값이 없음

- 디폴트 생성자 ( 기본 생성자 ) :

프로그래머가 constructor를 기술하지 않을 때 자동 반영됨

- 생성자 오버로딩 : 매개변수의 타입, 갯수가 다를 때 동일명으로 다수의 생성자 생성 가능

Circle ( ) { }

Circle (int r, String newName) {

}

-> 동일한 Circle의 내용으로 2개의 생성자를 만듦

- 참조자료형

상속관계 : a ⊂ A ( a가 A에 포함되어 있음)

집합관계 : A = a' + a'' + a''' ( a' , a'' , a'''가 합쳐져 A를 구성함)

사용관계 ..? (적느라 못봐뜸)

- Subject : 같은 이름의 항목들을 Subject 클래스에 모아 사용

new Subject( ); 로 초기화 필요

- 정보은닉 : private 접근제어자

클래스의 외부에서 클래스 내부의 멤버변수나 메서드에 접근하지 못하게 할때 사용

외부 사용이 불가하므로 오류를 줄일 수 있음

외부에서 변수의 변경, 수정이 필요할 경우 getter / setter 사용

'Java' 카테고리의 다른 글

[Java] 반복문 ( while , for )  (0) 2023.04.20
[Java] 조건문 ( if문 , switch문 )  (0) 2023.04.19
[Java] 항과 연산자  (0) 2023.04.18
[Java] 변수와 자료형  (0) 2023.04.17
Java , Eclipse 설치, 환경설정  (0) 2023.04.16