일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- /자바 #/간단한프로그램
- 자바#제네릭스기본#List개념
- 자바
- 자바#게임
- CRUD
- 문자와숫자#특수기호
- 조건문#중첩반복문#기본
- 탐사수
- springboot
- 물
- t삭제(delete)
- Update
- 쿠팡
- 절차지향
- sprinboot
- jpa
- 오버라이딩
- Today
- Total
목록Java(객체지향) (7)
간단
※(오버라이딩을 이해 할려면 상속 개념부터 배우고 오자) 오버라이딩이란? - 부모에게서 상속받은 메서드의 내용을 재정의 하는 것 public class A { int height = 180; public void setHeight(int height){ this.height = height; } } class B extends A // A(부모) 상속받음 { public void setHeight(int height) // 부모 클래스의 메소드를 재정의! { this.height = height+10; } } 이렇게 부모의 메소드를 자식 클래스에서 필요로(재정의) 하는 것을 오버라이딩이라 한다. ※ 주의 오버라이딩시 지켜야 할 것 -메서드의 내용만 새로 작성하는 것이므로 부모의 메소드와 같아야 한다. 메..
●상속의 사용 이유 -유지보수 용이 - 중복코드 제거 -통일성 -> 객체지향의 필수 기능 ●개념 자식 클래스가 부모 클래스를 선택해서 상속 받는 개념 자식 : 하위클래스 or 자식클래스or 서브클래스 부모 : 상위 클래스 or 부모 클래스or 슈퍼 클래스 자식클래스가 부모 클래스를 상속받게되면 부모클래스의 필드와 메서드를 물려받게된다(가지게 된다) -> 접근제어자에 따라 상속이 불가능한 경우가 있다 (이번장에서는 개념만 알자) ●선언 (extends) class (자식)클래스명 extends(부모)클래스명 {.....} ex)class B(자식) extends A(부모){,,,} Class A(부모){ } Class B(자식) extends A(부모){ } ● 주의 자바에서는 자식클래스가 여러부모로부터 ..
1. 객체 초기화 : 필요한 설정 작업을 할 수 있다. 2.독립적인 여러 개체를 만들 수 있다. 3.코드의 품질 향상 등등 public class C1 { int left; int right; public C1(int left, int right) { //생성자 초기화 //어떠한 메소드 보다도 먼저 실행이 된다. this.left = left; this.right = right; } void sum() { System.out.println(this.left + this.right); } public static void main(String[] args) { C1 c = new C1(10, 20); // C1() : 생성자 c.sum(); // 30 실행 } }
- 기본 개념으로 인스턴스 자기 자신을 가르키는 것 public class C1 { int v = 10; //전역변수 void m(){ int v = 20; System.out.println(v); // 유효범위중 지역 변수가 전역 변수보다 우선순위 이기 때문에 20이 호출 } public static void main(String[] args) { C1 c = new C1(); c.m(); } } 위 코드는 전역변수와 m()라는 메소드안에 지역변수가 선언되어 있다. 우선순위로 인해 실행결과는 20이 출력되는 상황 하지만 20의 값도 넣고 싶고 10의 값도 넣고 싶을때는 어떻게 해야 할까? this 를 사용 public class C1 { int v = 10; //전역변수 void m(){ int v =..
겍체도 맴버(구성원)가 있다 class 의 맴버 변수는 모든 인스턴스에서 똑같은값을가진다(공유) instance 의 멤버 변수는 각각 다른값을 가진다 public class Calculator { static double PI = 3.14; // 앞에 static이 붙으면 클래스 변수(statice한 변수) ,모든 값이 동일한 값을 가진다! int left, right; // 인스턴스 맴버 //... static맴버는 클래스명.변수명으로도 바로 호출 가능 System.out.println(Calculator.PI); // 클래스.변수명으로 바로 호출 가능 ※ Static 사용이유 1.변하지 않는 값이 필요한 경우 (공유가능(PI)) 2.인스턴스를 생성할 필요가 없는 값을 클래스에 저장하고 싶을때 ( 클래..
클래스 : 설계도(정의) 인스턴스 : 제품(호출) public class Calculator { // 지금 부터 Calculator 라는 객체의 설계도를 선언(약속되어 있는 키워드 int left, right; public void setOprands(int left, int right) { this.left = left; //this는 위 변수를 초기화 해주는 자신을 가르키는 것인데 이번 장에서는 이정도로만 알고 있어도 된다. this.right = right; } public void sum() { System.out.println(left + right); } public void avg() { System.out.println((left + right) / 2); } // 여기까지가 설계도 Cla..
영어로는 OOP(Object Oriented Programing) : 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러디 타임 인스턴스인 객체를 중심으로 설계를 구성 하여 재사용 및 유지 관리 가능한 코드를 작성 할 수 있으며 시스템을 보다 쉽게 설계하고 개발 할 수 있다는 큰 장점이 있다 캡슐화,상속,다형성,추상화,인터페이스등의 개념들이 포함이 된다. ● 추상화(abstrac) : 복잡한 현실에서 해결해야할 문제를 소트웨어적으로 단순화 시켜서 만드는 행위.설계하는 것 ● 부품화 : ex) 컴퓨터가 있는데 모니터,키보드,본체가 단일화가 되 있을시 하나만 고장나도 다 고쳐야 할 것 여기서 추상화를 하여 하나씩 분리 시켜 놓는다면 굳이 하나가 망가졌을 때 다 고칠 필요가 없다. -> 메소드는 부품화의 예시..