250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[JAVA] 클래스와 객체의 정의 본문

[Snow-ball]프로그래밍(컴퓨터)/java

[JAVA] 클래스와 객체의 정의

Snow-ball 2021. 3. 9. 18:56
반응형

클래스란 '객체를정의해놓은 것.' 또는 클래스는 '객체의 설계도 또는 틀' 이라고 대부분이 정의를 한다.

클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다.

 

클래스의 정의

- 클래스란 객체를 정의해 놓은것.   

  그렇다면 클래스란 무엇인가? 정확하게는 디스크에 저장된 객체를 의미한다.

  기본적으로 언어는 이진분류(binary classification)이며 요소(property)로 이루어져있기 때문에 디스크

  또는 메모리를 사용하기 때문이다.

 

클래스의 용도

- 클래스는 객체를 생성하는데 사용

 

 

1
2
3
4
5
public class 클래스이름 {
    public static void main(String[] args){
        //프로그램 시작 시점
    }
}
cs

 

 

객체의 사전적인 정의는, '실제로 존재하는 것'이다. 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. 객체지향이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다.

프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.

 

그렇기에 소프트웨어의 객체는 개념적으로 실제 객체와 유사한점이 많다. 소프트웨어 객체는 필드(일부 프로그래밍 언어의 변수)에 상태를 저장하고 메서드(일부 프로그래밍 언어의 함수)를 통해 동작을 출력한다.

 

메서드는 객체의 내부 상태에서 작동하며 객체 간의 통신을 위한 기본 메커니즘 역할을 하게 된다. 내부 상태를 숨기고 모든 상호 작용이 객체의 메서드를 통해 수행되도록 요구하는 것은 객체 지향 프로그래밍의 기본 원칙인 데이터 캡슐화로 알려져있다.

 

객체의 정의

- 실제로 존재하는 것(컴퓨터로 생각한다면 디스크에 존재해야한다.). 사물 또는 개념

 

객체의 용도

- 객체가 가지고 있는 기능과 속성에 따라 다름. 즉, 객체는 기능과 속성의 집합이다.

 

유형의 객체

- 책상, 의자, 자동차, TV와 같은 사물

 

무형의 객체

- 수학공식, 프로그램 에러와 같은 논리나 개념

 

코드를 객체로 묶었을때 장점

1. 모듈성 : 객체의 소스코드는 다른 객체의 소스 코드와 독립적으로 작성 및 유지 될 수 있다. 생성된 객체는 시스템 내뷍서 쉽게 전달 될 수 있다.

2. 정보 숨김 : 객체의 메서드랑만 상호 작용함으로써 내부 구현의 세부 사항은 외부 세계에 숨겨지게 된다.

3. 코드 재사용 : 객체가 이미 존재하는 경우 ( 다른 소프트웨어 개발자가 작성한 것일 수 있음 ) 해당 객체를 프로그램에서 사용할 수 있다. 이를 통해 전문가는 복잡한 작업 별 객체를 구현/테스트/디버그 할 수 있으며, 이를 통해 자신의 코드에서 실행할 수 있다.

4. 플러그 가능성 및 디버깅 용이성 : 특정 객체에 문제가 있는 것으로 판명되면 간단히 응용 프로그램에서 제거하고 다른 개체를 대체 할 수 있게된다. 이 현상은 현실과 유사하다. 볼트가 끊어지면 전체 기계가 아닌 볼트를 교체하는 것과 같다.

 

참고자료 Oracle : docs.oracle.com/javase/tutorial/java/concepts/object.html

 

What Is an Object? (The Java™ Tutorials > Learning the Java Language > Object-Oriented Programming Concept

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated

docs.oracle.com

 

 

 

 

 

 

베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments