출처는 www.DefineJava.net ① 클래스(Class) 2개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소, 즉 공통된 특성과 행위를 갖는 객체의 집합. 한 클래스를 기준으로 하여 그 기준 클래스의 상위 클래스를 슈퍼 클래스, 하위 클래스를 서브 클래스라고 함. ② 인스턴스(Instance) 하나의 클래스에 속하는 각각의 객체를 의미 ③ 속성(Attribute) 한 클래스내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의하는 것으로서 성질, 분류, 식별, 수량 또는 현재 상태 등을 표현. ④ 메소드(Method) 객체의 정의된 연산을 의미 하며, 객체의 상태를 참조하거나 변경하는 수단이 됨. ⑤ 객체(Object) 속성과 이를 처리하기 위한 메소드를 결합시킨 실체로써..
출처 : www.DefineJava.net Public 같은 클래스, 하위클래스, 또는 같은 패키지 내에 있는 어떤 클래스에서도 접근할 수 있습니다. 이 접근 권한은 클래스 또는 객체의 외부 인터페이스를 제공해 줄 때 주로 사용합니다. Private 같은 클래스 내에서만 접근가능 합니다. 다시 말해서, 이 접근 권한으로 지정된 변수 또는 메소드를 다른 객체에서 참조하거나 사용하는 것이 불가능하고, 자신의 클래스 내에 있는 메소드에서만 참조하거나 사용할 수 있습니다. 클래스가 제공하는 기능을 내부적으로 구현할 때 주로 사용하고, 이렇게 함으로써 완벽한 정보은닉이 가능합니다. Protected 자바에서 정의된 클래스들은 기본적으로 하나의 그룹 단위 또는 묶음단위로써 유지되는데, 이를 패키지라 합니다. 다시 ..
출처 : www.DefineJava.net 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 생성자 역시 매서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 키워드 void를 사용하지는 않고, 단지 아무 것도 적지 않는다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. 클래스이름(타입 변수명, 타입 변수명, ... ) { 인스턴스 생성 시 수행될 코드, 주로 인스턴스멤버의 초기화 코드를 적는다. } Ex class Card { Card() { //..
출처 : www.DefineJava.net Object 클래스 java.lang 클래스 Object java.lang.Object public class Object Object 클래스는 클래스 계층 루트입니다. 모든 클래스는 슈퍼 클래스로서 Object 를 가집니다. 배열을 포함한 모든 오브젝트는 이 클래스의 메소드를 구현합니다. 도입된 버젼: JDK1. 0 생성자의 개요 Object () 아무것도 하지 않음. 메소드의 개요 protected Object clone () 이 오브젝트의 카피를 작성해 돌려줍니다. boolean equals (Object obj) 이 오브젝트와 다른 오브젝트가 동일한지 어떤지를 나타냅니다. protected Object finalize () 이 오브젝트에의 참조는 이제 없..
출처 : www.DefineJava.net 스트래티지 패턴 두번째 시간이다. 우선 저번에 필자가 냈던 문제를 생각해보자~ 1. 개발자는 로봇 게임을 제작중이다. 2. 게임을 더 재밋게 하기 위하여 개발자는 특수기능을 넣을려고 한다. 3. 현재는 특수기능이 "날 수 있는 기능" 밖에 없지만 이후에는 여러가지 기능이 추가 될 수도 있다. 해결방법으로 생각했던 상속을 사용하게 되면 현재 날아다니는 기능은 구현이 가능하나 나중에 특수기능이 더 많이 추가 된다면 문제가 발생한다. 그리고 또 오버라이딩을 한다면 로봇 수가 늘어 나게 될 때 개발자는 죽도록 노가다 코딩을 해야 될 것 이다. 이제 조금 더 쉽게 이 문제를 해결할 수 있는 방법을 생각 해 보자. 필자는 이 문제의 해답은 인터페이스를 잘 사용하므로써 해결..