JAVA/JAVA 기초

[JAVA] 자바기초 객체지향 프로그래밍(OOP: Object-Oriented Programing) 언어

김_나무 2022. 7. 10.
반응형
자바는 객체지향 프로그래밍 언어이다




 1. 객체지향 프로그래밍
  • 모든 데이터를 객체로 취급한다.
  • 객체란 사물이다.
  • 이러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍이다.
  • 객체를 만들어 내기 위해서 설계도와 같은 개념을 Class라고 한다.

 

 

 

 

 

 2. 클래스 (class)
  • 자바에서 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다.
  • 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 된다.
  • 클래스는 객체의 상태를 나타내는 필드와 객체의 행동을 나타내는 메소드로 구성이 된다.
  • 즉, 필드란 클래스에 포함된 변수(variable)를 의미한다.
  • 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다.

 

 

 

 

 

 3. 인스턴스 (instance)
  • 자바에서 클래스를 사용하기 위해서는 우선 해당 클래스 타입의 객체를 선언해야 한다.
  • 클래스로부터 객체를 선언하는 과정을 클래스의 인스턴스화 라고 한다.
  • 선언된 해당 클래스 타입의 객체를 인스턴스 라고 한다. 즉, 메모리에 할당된 객체를 의미한다.
  • 자바에서는 하나의 클래스로부터 여러 개의 인스턴스를 생성할 수 있다.
  • 생성된 인스턴스는 독립된 메모리 공간에 저장된 자신만의 필드를 가질 수 있다.
  • 해당 클래스의 모든 메소드는 해당 클래스에서 생성돤 모든 인스턴스가 공유하게 된다.

 

 

 

 

 

 4. 메소드(method)
  • 자바에서 클래스는 멤버로 속성을 표현하는 필드와 기능을 표현하는 메소드를 가진다.
  • 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다.
  • 접근제어자 : 해당 메소드에 접근할 수 있는 범위를 명시한다.
  • 반환타입(return type) : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 명시한다.
  • 매개변수 목록(Parameters) : 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시한다.
  • 구현부 : 메소드의 고유 기능을 수행하는 명령문의 집합이다.

 

 

 

 

 

 5. 접근제어자(access modifier)
  • 객체지향에서 정보 은닉(date hiding)이란  사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념이다.
  • 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 된다.
  • 자바에서는 이러한 정보 은닉을 위해 접근 제어자(accecc modifier)라는 기능을 제공하고 있습니다.
  • 접근 제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지 않는 멤버를 설정하여 정보 은닉을 구체화 할 수 있다.

 

 

 

 

 

 6. 생성자 (constructor)
  • 클래스를 가지고 객체를 생성하면, 해당 객체는 메모리에 즉시 생성된다.
  • 하지만 이렇게 생성된 객체는 모든 인스턴스 변수가 아직 초기화되지 않은 상태이다.
  • 자바에서는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 생성자(constructor)라는 메소드를 제공한다.

 

 

 

 

 

 7. this 참조변수
  • this 참조 변수는 인스턴스가 바로 자기 자신을 참조하는 데 사용하는 변수이다.
  • this 참조 변수는 해당 인스턴스의 주소를 가리키고 있다.
  • 매개변수 이름과 인스턴스 변수의 이름이 동일 할 경우 인스턴스 변수 앞에 this키워드를 붙여 구분해야 한다.
  • 자바에서는 this 참조 변수를 사용하여 인스턴스 변수에 접근할 수 있다.
  • this 참조 변수를 사용할 수 있는 영역은 인스턴스 메소드뿐이며, 클래스 메소드에서는 사용할 수 없다.

 

 

 

 

 

 

 8. 패키지 (package)
  • 자바에서 패키지란 클래스와 인터페이스의 집합을 의미한다.
  • 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다.
  • 협헙 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제까지도 패키지를 이용하면 피할 수 있다.

 

반응형

댓글

💲 추천 글