Steady Blog

6. 클래스의 개념 본문

Programing/Java

6. 클래스의 개념

우유먹고쑥 2012. 8. 23. 11:03

*클래스의 개념

 // 전역변수와 지역변수가 겹치게 될 경우 지역변수가 우선시 하게 된다.

ex)

public class MethodEx{

    int var;

    public class setVar(int var){

        var = var;   <-- 문제 발생. 오류가 아님 문제임

    }

}

1. 객체 지향 언어

 1. 코드의 재사용성이 높다

   - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.

 2. 코드의 관리가 용이 하다.

   - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.

 3. 신뢰성이 높은 프로그래밍을 가능하게 한다.

   - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다.

 4. 객체 지향의 가장 큰 장점 : '코드의 재사용성이 높고 유지보수가 용이하다.'

 5. 3대 특징 : 캡슐화(은닉화), 상속 , 다형성

 

2. 클래스와 객체의 정의와 용도 

 1. 클래스란 객체를 정의해 놓은 것(클래스는 객체의 설계도)

 2. 클래스는 객체를 생성하는데 사용됨

 3. 객체의 정의 : 실제로 존재하는 것 혹은 사물 또는 개념

 4. 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름

 

 

 

2. 클래스의 구조  

 ■ 클래스 해더

    [접근제한자(public, default)] [클래스 종류 (final, abstract)] class 클래스명

     ex) public abstract class CLASS_EX{};

 

1.멤버 필드

 

  - 접근자 :

        private : class 내부

        (package) : 내부+ 폴더 - 접근자 안쓰면 자동 package (Default 값)

        protected : 내부 + 폴더 + 상속

        public : 누구

 

  - 지정어 : final, static(쓸수도 있고 안쓸수도 있다.)

     ex)public static final double pie = 3.141592; 또는 int x;

 

 2. 멤버 메소드

   - 접근자

   - 지정어 : static , final , native(외부언어를 java에 넣기위해), synchronized == > 생략가능

 3. 생성자

    - 객체의 생성을 컴퓨터에게 알리는 역활과 초기화 역할을 한다.

       객체에  (hashcode)를 붙임

    - 접근자 -> public, package

    - 지정어, 결과형 return값은 사용안한다.

 

 

2. 메서드

3. static 예약어

   - static은 메모리를 공유하는 기능이다.

   - 메모리에 제일 처음으로 잡힌다. -> 클래스 명으로 직접 접근이 가능하다.

   - 메모리는 한번만 초기화 된다.

   - static은 static 메소드만 가능하며 static메소드 안에서는 static 변수만 사용가능하다.