자바. 기본 용어 정리 -3-

tae_in·2022년 5월 16일
0

자바

목록 보기
3/8

1. 클래스(Class)

클래스는 "상태"와 "행위"를 갖는 자바의 기본 단위이다. 건물 짓는 것에 비유하여 설명해보면 건물을 지을 때 필요한 설계도가 클래스에 해당하고 완성된 건물이 객체에 해당한다.

2. 상태(State)와 행위(Behavior)

어떤 사물을 나타낼 때 이를 상태와 행위로 구분하여 표시하는 것이 가능하다. 자바에서 "상태"는 클래스나 인스턴스 변수로, "행위"는 메서드로 표현할 수 있다.

3. 객체(Object)

객체 지향 프로그래밍의 기본 단위로 데이터(실체)와 메서드(행위)를 모두 포함하고 있다. 클래스는 사물의 단위를 의미하지만, 객체는 각 사물을 의미한다.

예를 들면, 나라는 클래스이고 대한민국은 객체라고 볼 수 있다.

4. 인스턴스(Instance)

한 클래스의 특정한 객체를 의미한다. 일반적으로 어떤 집합에서 그 집합의 개별적인 요소를 인스턴스라고 한다.

5. 인스턴스화(Instantiate)

인스턴스화는 클래스에서 인스턴스를 생성시키는 것을 말한다. 자바에서 new를 사용해 클래스를 복제하여 새로운 객체를 생성하는 것을 흔히 인스턴스화라고 한다.

6. 생성자와 소멸자

객체는 생성되고 소멸될 때 호출되는 특별한 메서드를 가지고 있다. 이 메서드를 생성자와 소멸자라고 한다. 생성자는 객체를 초기화하거나 설정하고 소멸자는 객체를 삭제하고 정리한다.

7. 멤버(Member)

객체 혹은 클래스의 변수나 메서드를 의미한다.

8. 변수(Variable)

값이 저장된 기억장소, 객체는 변수에 자신의 상태를 저장하고, 변수는 식별자로 명명된다.

9. 식별자(Identifier)

프로그래머가 프로그램에서 사용하는 자료의 항목(변수, 함수, 상수, 배열, 클래스, 메서드)등에 부여하는 이름을 말한다.

10. 메소드(Method)

메소드는 특정한 일을 수행하는 행위나 동작을 의미한다. 일반적으로 함수와 같은 의미지만 객체지향에서는 차이점이 있다.
static(Class) 메소드와 instance 메서드 2종류가 있으며, static 메소드는 객체를 생성하지 않아도 사용할 수 있지만, instance 메소드는 객체를 생성해야만 사용 가능하다.

11. 함수(Function)

함수는 독립적으로 존재하는 특정한 일을 수행하는 행위나 동작을 의미한다.

메서드(Method)와 함수(Fuction)의 차이

독립적으로 존재하면 함수이고, 독립적으로 존재하지 않으면 메소드이다. 다른 프로그래밍 언어에는 함수가 별도로 존재하지만, 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바에서는 함수가 따로 존재하지 않고 클래스 내에 존재하는 함수인 메소드가 있는것이다.

12. 멤버 변수(Member Variable)

클래스나 객체의 멤버로 클래스 내에서 선언된 변수를 멤버변수라고 한다. 멤버변수에는 static(Class) 변수와 instance 변수가 있으며 static(Class) 변수는 모든 객체가 공통적으로 사용하는 변수이며, instance 변수는 각 객체들마다 따로 생성 되어 개별적으로 사용하는 변수이다. 지역변수는 메서드 내에서 선언되어 메서드 내부에서만 사용 가능한 변수를 말하며, 멤버 변수는 메서드나 생성자 바깥에 선언되어야 하며 클래스 전체 영역에서 사용하는 변수를 말한다.

13. 멤버 함수(Member Function)

클래스 내에서 선언된 함수를 말하며, 멤버 변수들을 통제하기 위해여 사용한다. public, protected, private와 같은 접근 제한자를 사용한다.

14. 접근 제한자

  • public: 모든 접근 허용
  • protected: 같은 패키지에 있는 객체와 상속관계의 객체들만 허용
  • default: 같은 패키지에 있는 객체들만 허용
  • private: 현재 객체 내에서만 허용

15. 매개변수(Parameter)와 인수(Arguments)

매개변수는 메소드에 입력으로 전달된 값을 받는 변수를 의미하고 인수는 메소드를 호풀할 때 전달하는 입력값을 의미한다.

parameter = 매개변수 = 변수 = 인자
argument = 전달인자 = 값 =인수

public class Sample {
    int sum(int a, int b) {  // a, b 는 매개변수
        return a+b;
    }

    public static void main(String[] args) {
        Sample sample = new Sample();
        int c = sample.sum(3, 4);  // 3, 4는 인수

        System.out.println(c);  // 7 출력
    }
}

(예시)

package Arrange;

public class Person{ // Person 클래스 생성
	public int age; // 변수(멤버변수)
    public String name; // 변수(멤버변수)
    public boolean adult; // 변수(멤버변수)
    
    public void PersonData(){ // PersonData는 메소드 생성
    	
        System.out.println("나이 :" + age);
        System.out.println("이름 :" + name);
        System.out.println("이 사람은 성인이다.: " + adult);
    }
}
    
public class PersonTest{ // PersonTest 클래스 생성

	public static void main(String[] args){
    	
       Person    Tom  =   new    Person(); 
      (클래스) (인스턴스)        (생성자(객체))
        
        Tom,age = 22;
        Tom.name = "Tom";
        Tom.adult = true;
        
        Tom.PersonData(); 
    
    }


}

0개의 댓글