삽질의 현장/- Java

[Surro] :: Java 기초(1)

shovelman 2014. 1. 3. 00:47

객체 지향 관련 용어 목록

 

- 클래스

: 사물의 단위, 상태(클래스, 인스턴스) 와 행위(메소드)를 갖는 자바의 기본 단위.

 

public class Surro {

int study; // 상태

public void Sing(int Song) { // 행위

..................

}

}

 

- 캡슐화

: 연관된 '상태'와 '행위'를 결정하는 기능을 묶어주는 것.

      > 캡슐화를 통해 클래스 밖에서 접근 가능한 대상을 제한하는 정보 은닉이 가능.

      > 하나의 객체를 위한 코드가, 다른 객체를 위한 코드와 무관하게 수행할 수 있는 모듈화가 가능.

 

public class Surro {

private int study; // private로 선언함으로써 정보 은닉

public void Sing(int Song) { // 상태를 변경 가능

..................

}

}

 

- 메시지

: 메소드에서 다른 메소드를 호출할 때 전달하는 값. (ex. 매개변수)

 

public class Surro {

private int study;

public void Sing(int Song) { // Song : 매개 변수, 메시지

..................

}

}

 

- 객체

: 사물. (ex. 운동 : 클래스, 축구 : 객체)

 

Sport sp = new Sport();

 

- 상속

: 부모에 선언된 변수와 메소드에 대한 사용권을 갖는 것. extends, implements.

extends : 순수 상속. 부모로 부터 모든 것을 가져옴.

implements : 인터페이스. 상속은 받지만 내용이 완전하지 않아 상속받아서 채워야한다.

 

- 다형성

: 부모 클래스에서 파상된 자식 클래스들의 기능이 다를 수 있다.

 

// 부모 클래스

public class Parent {

public void method() {

...........

}

}

 

// 자식 1 클래스

public class Childone extends Parent { // Parent 클래스 상속

public void method() {

...........

}

}

 

// 자식 2 클래스

public class Childtwo extends Parent { // Parent 클래스 상속

public void method() {

...........

}

}

 

         >> Childone, Childtwo의 method()는 다른 기능을 수행해도 무방.

 

- 오버라이딩

: 부모 클래스에 선언되어 있는 메소드와 동일한 선언을 갖지만 구현이 다른 것을 의미. 

 

public class Parent {

public void method() {

...........

}

}

 

public class Child extends Parent {

public void method() {

...........

}

}

 

         >> method()는 부모 클래스의 method()를 덮어 쓴 오버라이딩 처리가 된 것.

 method()를 실행하면 child 클래스의 method()가 실행된다.

 

- 오버로딩

: 메소드의 이름은 동일해도, 매개 변수들을 다르게 하는 것.

 

public class Overloading {

public void getData() {

.............

}

public void getData(int value){

.............

}

public void getData(String value){

.............

}

}

 

 

Package, Import

 

- package : 클래스들을 그룹화하기 위한 단위.

 

ex. package c.winter.studyjava;

 

- import : 다른 패키지에 선언되어 있는 클래스를 사용하기 위한 문장.

 

ex1. import c.winter.studyjava.StudyHard;

 

ex2. import static c.winter.studyjava.StudyHard.STUDY_NUMBER;

// 다른 클래스에 static으로 선언되어 있는 접근 가능한 변수를 참조

 

ex3. import c.winter.studyjava.hansei.*;

// 하나의 패키지 내에 있는 모든 클래스를 참조

 

 

 

참조 : 자바의 신 (VOL. 1 기초 문법편)