10-1. 인터페이스란? 인터페이스 (interface) 패키지에서 마우스 오른쪽 버튼 → [New] → [Interface] 모든 메서드가 추상 메서드로 선언됨 public abstract 모든 변수는 상수로 선언됨 public static final interface 인터페이스 이름 { public static final float pi = 3.14F; public void makeSomething(); } 자바8 부터 디폴트 메서드 (default method)와 정적 메서드(static method) 기능의 제공으로 일부 구현 코드가 있음 인터페이스 구현과 형 변환 인터페이스를 구현한 클래스는 인터페이스 형으로 선언한 변수로 형 변환 할 수 있음 Calc calc = new CompleteCalc..
09-1. 추상 클래스 추상 클래스란? 구현 코드 {} 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스 메서드 선언(declaration) : 변환타입, 메서드 이름, 매개변수로 구성 메서드 정의(definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body)를 가짐 {} int add (int x, int y); // 선언 → { } 구현부 없음 → 추상 메서드 → abstract 예약어 사용 int add (int x, int y) { } // { } 구현부가 있음 → 추상 메서드 X abstract 예약어를 사용 추상 클래스는 new 할 수 없음 (인스턴스화 할 수 없음) 추상 클래스 구현하기 메서드에 구현 코드가 없으면 abs..
08-1. 상속이란? 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 상속의 문법 class B extends A { } B클래스가 A클래스를 상속받는다 extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 자바는 단일 상속(single inheritance)만을 지원함 상속을 구현 하는 경우 상위 클래스는 하위 클..
두잇으로 공부하다가 지난 개념들이 아리송.. 알듯말듯.. 아리까리 해서 결국 생코로 2차 복습 ! 이해가 쏙쏙 가요 ㅠㅠ 그리고 생코 들으면 되게 마음이 따뜻함... 아리송? 해서 난 역시 왕감자인가... 하고 있을 때, 지금 이해 안가는거 당연합니다! 지금 다 이해하면 저보다 잘하는 겁니다! 걱정하지 마세요 천천히 이해시켜드릴게요~ 하고 나긋나긋 위로해주시고 응원해주셔서..... 듣다가 녹음 감자는 이런거 하나하나에 녹아요.......... 이고잉님 최고 그리고 생코 좋은 점 : 댓글에 나같은 감자는 없고 똑쟁이들만 있어서 이해 하는 데에 댓글들까지 막대한 도움을 줌... 그래서 짜집기 해봤다! 무릎을 탁! 쳤던 댓글들 아니 다들 무슨... 아니 그게 아니고 왜 나만... 도대체 왜...... 어떻게 ..
객체 협력 - 출근길에 커피 사기 아침 출근길에 김 씨는 4,000원을 내고 별다방에서 아메리카노를 사 마셨습니다. 이 씨는 콩다방에서 4,500원을 내고 라테를 사 마셨습니다. '06-2 객체 간 협력'을 참고하여 이 과정을 객체 지향으로 프로그래밍해 보세요. 첫 번째로 메뉴 종류 작성 별다방 클래스 작성 콩다방 클래스 작성 person 클래스 작성 TEST 클래스 작성 출력 static 활용 - 자동차 공장에서 자동차 생산하기 자동차 공장이 있습니다. 자동차 공장은 유일한 객체이고, 이 공장에서 생산되는 자동차는 제작될 때마다 공유의 번호가 부여됩니다. 자동차 번호가 10001부터 시작되어 자동차가 생산될 때마다 10002, 10003 이렇게 번호가 붙도록 자동차 공장 클래스, 자동차 클래스를 구현하..
07-1.배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자[]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언과 초기화 배열 선언하기 int[ ] arr1 = new int[10]; int arr2[ ] = new int[10]; 배열 초기화 하기 배열은 선언과 동시에 자료형에 따라 초기화 됨 (정수는 0, 실수는 0.0, 객체는 null) 필요에 따라 초기값을 지정할 수 있음 int[ ] numbers = new int[ ] {10, 20, 30}; // 개수 생략해야 함 int[ ] numbers = {10, 20, 30}; // 선언과 동시에 초기화 하는 경우는 new int[..
06-1. this 예약어 객체 자신을 가리키는 this this가 하는 일 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출 할 때 사용 자신의 주소(참조값)을 반환 함 생성자에서 다른 생성자를 호출 하는 this 클래스에 생성자가 여러 개 인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 없음 06-2. 객체 간 협력 (collaboration) 객체 지향 프로그램에서 객체 간에는 협력이 이루어짐 협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함 매개 변수로 객체가 전달되는 경우가 발생..
05-1. 객체 지향 프로그래밍과 클래스 객체(Object) 의사나 행위가 미치는 대상 (사전적 의미) 구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송) 객체 지향 프로그램과 절자 지향 프로그래밍 절차 지향 프로그래밍 : 시간이나 사건의 흐름에 따라 프로그래밍 객체 지향 프로그래밍 : 행위에 따른 객체가 생성되고, 이 객체들 간의 협력에 따라서 진행이 됨 객체 지향 프로그램은 어떻게 구현하는가? 객체를 정의 하고 각 객체 제공하는 기능들을 (메서드로) 구현하고 각 개체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력을 구현 객체를 찾아보자 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다 아침에 회사에 가는 길에 별다방 ..
또 왔다... C언어 할 때도 아리송하며 풀었던 별 모양 찍기 문제가... ^^ 어김없이 자바에서도 왔다... 자, 이 모양을 살펴보자 한 줄이 늘어날 때마다 별이 2개씩 증가하고있고 한 줄에 별 앞에 빈공간이 있고 / 별 뒤에 또 빈공간이 있다 그런데 그 다음줄이 되면 빈공간이 앞뒤가 하나씩 줄어들고, 별이 늘어나게 된다 ㅡ> 절반까지 이런 식으로 진행 절반보다 라인이 더 커지게 되면 반대로 별이 줄어들고, 빈공간이 늘어난다
04-1. 조건문 조건문 - if 문 주어진 조건에 따라 다른 실행이 이루어 지도록 구현 if문 문법 if (조건식) { 수행문; // 조건식이 '참'인 경우에 (조건에 맞는 경우) 수행문이 수행됨 } // 조건식이 '참'이 아니면 (조건에 맞지 않는 경우) 수행문이 수행되지 않음 if - else 문 문법 if (조건식) { 수행문1; // 조건식이 '참'인 경우에 수행됨 } else { 수행문2; // 조건식이 '참'이 아닌 경우에 수행됨 } if-else if-else 문 하나의 상황에 대한 조건이 여러 개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용 각 조건은 상호 배타적. 즉, 하나의 조건식이 만족하면 다른 조건식은 비교하지 않음 if (조건식1) { 수행문1; // 조건식1이 '참..