본문 바로가기

분류 전체보기190

[Java] 인터페이스(Interface) 인터페이스(interface) 1. 완벽한 추상화를 제공한다. ==> 일종의 추상클래스. 하지만 추상클래스보다 추상화 정도가 더 높다. - 실제 구현된 것이 전혀 없는 기본 설계도(알멩이 없는 껍데기). - 추상메서드와 상수만을 멤버로 갖는다. - 인스턴스를 생성할 수 없고, 클래스 작성에 도움을 줄 목적으로 사용이 됨. - 미리 정해진 규칙에 맞게 구현하도록 표준을 제시하는데 사용됨 ==> 명세서 2. 클래스와 클래스 사이의 중계적 역할을 하는 서비스를 제공함. ==> 객체와 객체 중간에 놓이는 통신 채널. 3. 모든 메서드가 추상화(추상메서드)이다. 4. 프로젝트 진행 시 표준 규약에 따른다. ==> 추상클래스보다 더 많이 사용이 됨. 5. 인터페이스는 상수와 추상메서드로만 구성됨. 6. 모든 변수는.. 2021. 8. 17.
[Java] 상속_추상클래스(abstracts class) 추상클래스(abstracts class) 1. 추상메소드를 포함하는 클래스 2. 추상 메소드는 본체(body)가 없는 메소드 => 선언은 되어 있으나 코드가 구현되지 않은 껍데기만 있는 메소드를 말함 예) void display(); // { }가 없다 3. 클래스 앞에 abstract 키워드가 온다 4. 추상메소드를 재정의하지 않으면 error발생 => 추상메소드 재정의 강제성 5. 추상클래스는 객체 생성이 불가능 => 자식 클래스를 대상으로 객체 생성 원칙적으로 자식클래스도 추상클래스임 이유는 추상메소드를 그대로 상속을 받았기 때문임 하지만 부모의 추상 메소드를 재정의 하게 되면 객체 생성이 가능함 6. 추상클래스는 추상메소드를 가진 클래스를 말함 7. 물론 일반 넘버(멤버변수, 멤버메소드)를 가질 .. 2021. 8. 17.
[Java] 상속_메소드 재정의(method overriding) 메서드 재정의(method overriding) - 부모 클래스에서 정의한 메서드를 자식클래스에서 다시 작성(재정의)하는 것 - 부모 클래스에 정의 된 메서드 중 하위 클래스와 기능이 맞지 않거나 추가 기능이 필요한 경우 같은 이름과 매개변수로 하위 클래스에서 재정의 함 === > 메서드 오버라이딩 [메서드 재정의 특징] 1. 반드시 상속관계에서만 발생함 (↔ 메서드 다중정의 - 동일한 클래스에서 발생) 2. 부모 클래스의 원형 메서드를 자식 클래스에서 재정의(다시 작성) [메서드 재정의 조건] 1. 반드시 접근 지정자, 리턴타입(반환형), 매개변수 모두 일치해야 함. ( 메서드 다중정의 - 매개변수의 갯수가 다르든지, 자료형이 다르든지 해야함.) 2. 접근지정자는 확장은 가능, 축소는 불가능. @Ove.. 2021. 8. 17.
[Java] 상속(inheritance) 상속(Inheritance) - 객체지향 프로그램 4대 특징 중 하나 - 실세계에서의 상속은 상위 개체의 속성이 하위 개체에 물려져서 하위 개체가 상위 개체의 속성을 모두 가지는 개념임 - 자바의 상속은 자식클래스가 부모클래스의 속성을 돌려 받고 기능을 추가하여 확장(extends) 하는 개념임 - 상속은 슈퍼클래스의 필드와 메소드를 흘려 받아서 코드를 재사용함으로써, 코드 작성에 드는 시간과 비용을 줄일 수 있음 - 기존에 이미 잘 만들어진 클래스를 재사용하여 즉, 특정 클래스를 만들 때 기존의 클래스의 데이터(속성)과 기능(메소드)를 그대로 돌려받아 중복적인 코드를 없애줌 (클래스의 재사용, 코드의 중복성을 없애줌) - 자식과 부모의 관계로 형성되어 있음 ==> 부모클래스 : super, parent.. 2021. 8. 17.
[Java] instance(인스턴스), static(스태틱, 정적) 변수/메소드 자바에서 사용되는 용어들 1. 변수 프로그램이 끝날때까지 언제든지 변할 수 있는 속성(데이터). ==> 소문자로 시작 2. 상수 프로그램이 끝날때까지 절대 변하지 않는 속성(데이터) ==> 모든 글자가 대문자 3. instance(인스턴스) 변수 / 메소드 - 객체의 생성과 동시에 만들어지는 변수 / 메소드 - 객체는 heap 메모리 공간에 만들어짐 반드시 객체 생성 후 사용이 가능함 - 호출방법 : 참조변수.멤버변수 / 참조변수.멤버메소드 4. static(스태틱, 정적) 변수 / 메소드 스태틱 변수 = 클래스 변수(class variable) - 객체의 생성과 상관없이 별도로 만들어지는 변수 / 메소드 - static 메모리(method 영역)에서 별도로 만들어짐 - 인스턴스가 생성될 때 마다 다른 .. 2021. 8. 17.
[Java] 객체(Object), 클래스(Class) 객체(Object) 객체 : 속성과 기능을 갖춘 것 ex) 자동차 클래스 : 속성과 기능을 정의한 것 ex) 자동차의 설계도 인스턴스 : 속성과 기능을 가진 것 중 실제 하는 것 ex) 공장에서 찍어낸 자동차 하나하나 - 실세계에서 우리 주변에 있는 모든 것들이 객체임 ex) TV, 컴퓨터, 책, 건물, 의자, 사람 등등 - 이러한 객체는 속성과 동작(기능)으로 구성되어 있음 예를 든다면 사람은 이름, 나이 등의 속성이 있고, 걷다, 쓰다, 달린다 등의 기능을 가짐 또한 자동차의 경우에는 색상, 모델링 등이 속성에 해당되고, 달린다 멈춘다 등의 기능을 가짐 - 객체는 개별적으로 사용이 될 수도 있지만, 대부분 다른 객체와 관계를 맺고 있음 이러한 관계의 종류에는 집합관계, 사용관계, 상속관계가 있음 - .. 2021. 8. 16.