객체 지향 관련 용어 목록
- 클래스
: 사물의 단위, 상태(클래스, 인스턴스) 와 행위(메소드)를 갖는 자바의 기본 단위.
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 기초 문법편)
'삽질의 현장 > - Java' 카테고리의 다른 글
[삽잡이::java] Java코드로 날짜를 랜덤하게 생성해보자! (0) | 2016.06.08 |
---|---|
[삽잡이::java] 이름을 랜덤하게 생성해보자! 유니코드 랜덤 생성! (0) | 2016.06.08 |
[삽잡이::java] 지금은 몇일 몇시야? 여러가지로 쓸모있는 currentTimeMillis() (0) | 2016.06.07 |
[삽잡이::java]설치하자 JDK, 설정하자 환경설정 (0) | 2016.01.22 |
[Surro] :: Java 기초(2) (0) | 2014.01.03 |