일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CSS
- TO_DATE
- eGovFramework
- spring
- Oracle
- 암호화
- 태그
- json
- input
- html
- JVM
- eGov
- 과정평가형
- javascript
- Java
- sql
- 배열
- array
- 개념
- mybatis
- 함수
- POI
- select
- Ajax
- 오류
- Database
- jQuery
- web.xml
- controller
- was
- Today
- Total
web developer
[java] 객체지향 프로그램(OOP)이란? 본문
객체지향 프로그램(OOP)이란?
- 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나
- 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
객체지향 프로그램의 장점은 다음과 같다.
- 프로그램을 유연하고 변경이 용이하게 만든다.
- 프로그램의 개발과 보수를 간편하게 만든다.
- 직관적인 코드 분석을 가능하게 한다.
객체지향 프로그램의 단점은 다음과 같다.
- 처리 속도가 상대적으로 느림
- 객체가 많으면 용량이 커질 수 있음
- 설계시 많은 시간과 노력이 필요
기본구성요소
(1) 클래스(class)
(1) 자바에서 클래스(class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용됩니다. 자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 된다.
(2) 객체의 상태를 나타내는 필드(field), 객체의 행동을 나타내는 메소드(method)로 구성됩니다.
(2) 객체(Object)
클래스의 인스턴스(실제로 메모리상에 할당된 것)이다. 객체는 자신 고유의 속성(attribute)을 가지며 클래스에서 정의한 행위(behavior)를 수행할 수 있다. 객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용한다.
(3) 메서드(Method)
클래스로부터 생성된 객체를 사용하는 방법으로서 객체에 명령을 내리는 메시지라 할 수 있다.
클래스에서 메서드를 작성하여 사용하는 이유는 중복되는 코드의 반복적인 프로그래밍을 피할 수 있기 때문입니다.
또한, 모듈화로 인해 코드의 가독성도 좋아집니다.
기본적인 문법
접근제어자 반환타입 메소드이름(매개변수목록) { // 선언부
// 구현부
// return (반환타입 void일 경우 return 없음)
}
1. 접근 제어자 : 해당 메소드에 접근할 수 있는 범위를 명시합니다.
// private
private 접근 제어자를 사용하여 선언된 클래스 멤버는 외부에 공개되지 않으며, 외부에서는 직접 접근할 수 없습니다.
// public
public 접근 제어자를 사용하여 선언된 클래스 멤버는 외부로 공개되며, 해당 객체를 사용하는 프로그램 어디에서나 직접 접근할 수 있습니다.
// default
접근제어자를 별도로 설정하지 않는다면 접근제어자가 없는 변수, 메소드는 default 접근제어자가 되어 해당 패키지 내에서만 접근이 가능하다.
// protected
접근제어자가 protected로 설정되었다면 protected가 붙은 변수, 메소드는 동일 패키지내의 클래스 또는 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능하다.
2. 반환 타입(return type) : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 명시합니다.
3. 메소드 이름 : 메소드를 호출하기 위한 이름을 명시합니다.
4. 매개변수 목록(parameters) : 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시합니다.
5. 구현부 : 메소드의 고유 기능을 수행하는 명령문의 집합입니다.
출처: http://www.tcpschool.com/java/java_methodConstructor_method [코딩의 시작, TCP school]
출처: https://jeong-pro.tistory.com/95 [기본기를 쌓는 정아마추어 코딩블로그]
'Language > Java' 카테고리의 다른 글
[java] String.prototype.toLowerCase() (0) | 2022.01.14 |
---|---|
[java] 웹 서버(WEB)와 웹 애플리케이션 서버(WAS)의 개념 (2) | 2021.12.23 |
[java] Overloading vs Overriding (0) | 2021.12.05 |
[Docker] 도커 실행 오류 address already in use (0) | 2021.10.12 |
[java] 클래스(class), 변수(variable), 메서드(method) 정의 (0) | 2021.10.10 |