분류 전체보기(58)
-
상속(Inheritance)
상속이란 상속이란 어떤 클래스가 다른 클래스의 멤버 변수와 멤버 함수를 물려받는 것 상속은 원래의 것에 이어 붙이는 개념 상속이라고 생각하지말고 extend! 부모클래스에서 확장된 객체를 갖게 된다고 생각하자. 상속받는 클래스-> 자식 클래스, 하위 클래스 또는 서브 클래스 상속을 해주는 클래스-> 부모 클래스, 상위 클래스 또는 슈퍼 클래스 부모 클래스(parent class) 와 자식 클래스(children class)는 자바 지정예약어 extends에 의하여 정해진다. 하나의 부모 클래스(parent class)는 여러개의 자식 클래스(children)을 가질 수 있다. 반대로 하나의 클래스는 여러개의 클래스로부터 상속을 받을수는 없다. ->즉 단일 상속만 가능 하다. (인스턴스를 사용하여 다중상속..
2020.03.11 -
toString()
모든 클래스의 가장 최상위 클래스는 Object 클래스 이다. 자바에서 제공하는 모든 클래스들은 계층 구조로 되어있고, 그 최상위로 올라가면 Object 라는 클래스가 존재한다. 우리가 일반적으로 생성하는 클래스들도 extends 로 직접 상속하지는 않았지만 자바 컴파일러는 일반 클래스를 Object 하위 클래스로 자동설정하게 되어있다. 결론은 자바 라이브러리나 유저가 만든 모든 클래스는 Object 클래스를 부모클래스로 상속받아서 사용하게 된다. Object 클래스에는 어떤 메소드들이 있을까? toString 메소드란? -객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드 이다. java.lang.Object 클래스가 toString 메서드가 제공하지만, 해당 메서드를 호출하면 반환되는 ..
2020.03.10 -
접근제한자[private,public,protected,default],getter, setter
접근 제한자 접근 제한자란, 외부로부터 접근을 제어하는 키워드이다. 접근 제한자의 종류는 4가지로, private/default/protected/public 이 있다. private은 비공개, public은 완전 공개를 의미한다. public 과 private public 키워드는 완전한 공개를 의미한다. 모두가 사용할 수 있는 공공의 산물이 되는 것이다. 이와 반면 private은 비공개를 의미한다. 오직 해당 클래스 내부에서만 사용할 수 있게 된다. 접근 제한자는 필드와 메소드에 적용될 수 있다. public 선언되면 외부의 접근이 가능하나, private의 경우 외부 접근이 불가능하다. 게터와 세터(getter&setter) private 필드는 외부 접근이 불가능하다 게터를 사용하면 privat..
2020.03.10 -
메소드(method)
메소드(method)란 보통 다른 언어엣는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재할수 없기 때문에 자바의 함수는 따로 존재 하지 않고 클래스 내에 존재 한다. 이 클래스 내의 함수를 메소드 라고 한다. 메소드의 구조 public 리턴자료형 메소드명(입력자료형1 입력변수1,입력자료형2 입력변수2,...){ ... return 리턴값; // 리턴 자료형이 void 인 경우에는 return 문이 필요없다 . } 리턴자료형은 메소드 수행 후 돌려줄 값의 자료형을 의미한다. 메소드의 리턴값은 return 이라는 명령을 사용한다. 메소드는 입출력 유무에 따라 다음과 같이 4가지로 분류 할 수 있다. 1) 입력과 출력이 모두 있는 메소드 2) 입력과 출력이 모두 없는 메소드 3) 입력은 없..
2020.03.10 -
객체(object), 클래스(class), 인스턴스(instance)
클래스(Class) 란 객체를 만들어 내기 위한 설계도 혹은 틀 연관되어 있는 변수와 메서드의 집합 객체(Object) 란 소프트웨어 세계에 구현할 대상 클래스에 선언된 모양 그대로 생성된 실체 특징 1) ‘클래스의 인스턴스(instance)’ 라고도 부른다. 2) 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. 3) oop의 관점에서 클래스의 타입으로 선언되었을 때 ‘객체’라고 부른다. 인스턴스(Instance) 란 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 즉, 객체를 소프트웨어에 실체화 하면 그것을 ‘인스턴스’라고 부른다. 실체화된 인스턴스는 메모리에 할당된다. 특징 인스턴스는 객체에 포함된다고 볼 수 있다. oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 ‘인스턴..
2020.03.10 -
생성자(constructor)
생성자란 객체가 생성될때(new) 반드시 한번 수행되는 메소드 생성자의 특징 public 클래스명 (매개변수){} 1) 수식어는 우선 public (생성자 앞에는 접근 제어자 - public만 올 수 있다. ) 메소드는 static 올 수 있다. 2) 문법적으로 반환 유형 자체가 없음(void나 자료형을 작성할 수 없다. ) 메소드는 void나 자료형이 있어야한다. 3) 메소드이기 때문에 오버로딩 가능 4) 생성자 메소드의 이름은 크래스 명과 완벽하게 동일하게 정의해야한다. 5) 생성자는 인스턴스를 초기화 시킨다. *2,4번이 반드시 지켜져야 컴파일러가 생성자로 인식 인스턴스를 생성할때 반드시 생성자를 호출한다고 하였는데 생성자를 따로 정의하지않을때는 어떻게 호출 된 것일가? 그 이유는 클래스를 정의할때..
2020.03.10