본문 바로가기

Java | spring/자바 객체지향8

Java Interface 확장, 예제(멤버변수 변경 에러 이유) 자바의 인터페이스 개념이 궁금하다면 아래 내용부터 확인. Java Interface 인터페이스 개념잡기! 인터페이스 Interface 자바에서는 class의 다중상속을 할 수 없다. 다중상속의 효과를 기대할 목적으로 interface를 이용 interface도 하나의 자료형(Date Type)으로 생각 상수와 메소드 선언부 만으로 구성(추상.. developsd.tistory.com 클래스와 인터페이스 상속 - class C extends A implements B - 인터페이스를 여러 개 가지는 경우 class C extends A implements B, D class A { String title; public A(String title) { this.title = title; } public vo.. 2019. 5. 7.
Java Interface 인터페이스 개념잡기! 인터페이스 Interface 자바에서는 class의 다중상속을 할 수 없다. 다중상속의 효과를 기대할 목적으로 interface를 이용 interface도 하나의 자료형(Date Type)으로 생각 상수와 메소드 선언부 만으로 구성(추상 메소드만으로 구성) 일반 멤버 변수와 body가 구체화 된 method는 가질 수 없다. 완전 추상이며, 굳이 메소드명 앞에 abstract를 붙이지 않아도 된다. default가 abstract 후손클래스들이 반드시 재정의 해야 할 메소드의 "명세서" 인터페이스는 추상클래스와 마찬가지로 객체화 할 수 없다. 인터페이스는 body가 있는 메소드를 가질 수 없다. 인터페이스의 멤버변수는 초기값을 줘야한다.(클래스 처럼 자동 초기값이 안된다) 인터페이스 구현하는 방법 하나의.. 2019. 5. 7.
Java 프로그래밍 기본, 메소드 method 메소드는 쉽게 말해서 기능, 명령어를 모아 놓은 것! ㅁ 메소드( 다른 프로그램에서는 함수라고 함) method ==> 방법, 기능 메소드란 어떤 문제해결을 위한(혹은 어떤 일처리를 위한) 서로 관련 있는 명령어들의 모임. 메소드 안에서 사용한 변수는 그 메소드 안에서만 사용할 수 있다. 메소드가 종료되면 모두 소멸된다. [참고] 함수(function) 메서드는 함수의 한 종류 함수란 하나의 기능을 수행하는 일련의 코드 함수는 이름이 있고 입력 값과 결과 값을 갖는다. ㅇ 함수 장점 기능을 나누어 코드를 효율적으로 구현할 수 있다. 메인에서 길지 않게 각각의 함수를 불러와서 하면 된다. 기능별로 함수를 구현해 놓으면 같은 기능을 매번 코드로 만들지 않고 그 기능의 함수를 호출하면 되니까 편리, 중복 코드.. 2019. 5. 7.
구현되지 않은, 추상클래스(abstract class) 추상 클래스 abstract class 추상 메소드를 가지고 있는 클래스는 추상 클래스로 선언해 줘야 한다. 자바에서 추상 메서드는 abstract 예약어를 사용하여 선언하는 메서드 추상 클래스를 상속 받으면 구현되지 않은 추상 클래스를 구현하거나, 상속 받은 클래스도 추상 클래스로 만들어야 한다. 추상 메소드를 하나라도 가지고 있으면 추상클래스가 되어야 하기 때문. 문법상으로 모든 메서드를 구현했더라도 abstract 예약어를 사용하면 추상 클래스이다. 생성해서 사용할 목적이 아니라 상속만을 위해 만든 추상 클래스로, 이러한 추상 클래스는 모든 메서드가 구현되어 있더라도, new 예약어를 통해 인스턴스를 생성할 수 없다. 추상클래스에서 구현된 메서드는 하위클래스에서 공통으로 사용할 구현 코드이며, 하위.. 2019. 5. 7.
Java Class 구조, 접근명시자(static, public) 클래스의 구조와 정의 ㅇ 클래스의 구조 (접근제어자) class 클래스명 { 멤버 변수; 생성자; 메서드(동작); } - class 클래스명 - 앞에 접근제한자와 클래스 종류(final, abstract)를 붙일 수 있다. - 멤버필드 변수와 상수, 즉 자료라고도 하는데, 이는 객체가 만들어질 때 그 객체의 특징적인 속성을 담아두는 것 ㅇ 멤버 메서드 - 메서드는 특정한 일을 수행하는 행위, 동작을 의미 - 메소드도 static 메소드(클래스 메서드)와 instance 메서드라는 두가지 종류가 있다. - static 메서드는 메서드를 가지는 객체를 생성하지 않아도 사용 가능 - instance 메서드는 객체를 생성해야만 사용 할 수 있는 것 객체 생성 ㅇ 클래스를 만들고 객체를 생성하는 방법 - 클래스명.. 2019. 5. 7.
상속과 다형성, 오버라이딩?! 오버로딩?! 상속 B클래스가 A클래스를 상속 받으면 B클래스는 A클래스의 멤버 변수와 메서드를 사용할 수 있다. 객체지향 프로그램은 유지, 보수하기 편하고 프로그램을 수정하거나 새로운 내용을 추가하는 것이 유연한데, 그 기반이 되는 기술이 바로 상속이다. ㅁ 클래스의 상속 상속하는 클래스 : 부모클래스, 상위클래스, 슈퍼클래스 상속받는 클래스 : 자식클래스, 하위클래스, 서브클래스 ㅇ 클래스 상속 문법 상속을 구현하는 경우 extends 예약어를 사용 B가 A를 상속받는다. class B extends A{ } ㅇ protected 예약어 상위 클래스의 변수나 메서드 중 외부 클래스에서는 사용할 수 없지만, 하위 클래스에서는 사용할 수 있도록 지정하는 예약어가 protected ㅁ 상속에서 클래스 생성과 형변환 상위.. 2019. 5. 7.
객체지향과 절차지향 프로그래밍?! 절차(순차)지향 프로그래밍 - 기능 중심(객체지향 전에는 절차지향이 었음) / C 언어 - 위에서 아래로 순서대로 읽으면서 실행하기 때문에 코드를 이해하기 쉽다. - 대부분 코드를 main 함수에 만든다. C는 처리 속도가 가장 빠른 언어 사용자의 요구조건이 복잡해 짐에 따라 전역변수(모든 명령어에서 사용 가능한 변수)를 사용했다. c 기능에서는 사용 안 해야 하는데도 사용하다 보니 문제가 생기게 되었다. a( 변수1 ) b( 변수2 ,변수3 ) c( ) … 절차지향에서는 조립의 개념이 없고, 기능을 조립할 수 없었다. 그런다 보니 코드가 반복되는 경우가 발생하고, 복잡한 프로그램의 경우 효율이 떨어지게 되었다. 객체지향 프로그래밍에서는 기능을 서로 조립할 수 있기 때문에 현재는 객체 지향 언어인 JAV.. 2019. 5. 6.
Java, 객체지향 프로그래밍! 객체란? '의사나 행위가 미치는 대상' 우리 주위에 있는 객체를 생각해 보면 사람, 자동차, 건물 등. 눈에 보이는 사물은 모두 객체라고 할 수 있다. 눈에 보이지 않는 행동(주문, 생산 등)을 나타내는 단어로 객체라고 할 수 있다. 어떤 대상(객체)를 가지고 프로그래밍한다!라고 생각 객체지향 프로그래밍 : 자료(객체)중심 (Object Oriented Programing) 객체 지향 프로그래밍을 할 때는 객체를 먼저 정의하고 각 객체가 어떤 기능을 제공하고 객체 간 협력을 어떻게 구현할 것인지 고민해야 한다. 객체 지향 프로그램은 클래스를 기반으로 프로그래밍 클래스는 객체의 속성과 기능을 코드로 구현 한 것 객체지향 프로그래밍의 특징 ㅇ 은닉성(Encapsulation) 클래스의 외부로부터 속성(멤버변.. 2019. 5. 3.
반응형