TIL | Java - abstract
·
Java
abstract 추상 🏁 나쁜 예시 부모클래스 자식클래스 메인클래스 🏁 좋은 예시 부모클래스 package day09.abs.good; public abstract class Store { /* * 1.메서드에 abstract를 붙이면 추상메서드가 됩니다.({}가 없는 메서드) * 2.추상메서드를 사용하고 싶다면, 추상클래스가 되어야합니다. */ //public abstract void apple(); //일반클래스가 추상메서드를 가질 수 없어서 오류 public abstract void apple(); //클래스를 추상클래스로 만들어주면 ok! public abstract void melon(); public abstract void orange(); //추상클래스 안에서 멤버변수, 생성자 ,일반메서드..
TIL | Java - final
·
Java
금지의 규제 final String 클래스는 final이다!!! 그래서 상속을 받을 수 없음! 더보기 package day08.final_.field; public class Person { /* *fianl변수는 값을 변경할 수 없기때문에 생성자를 통해서 or 직접 초기값을 지정하거나 or 생성자를 통해서 초기화를 해야합니다. */ public final String nation = "대한민국"; public final String ssn; public String name; public Person(String ssn, String name){ this.ssn = ssn; this.name = name; } } package day08.final_.field; public class MainClass..
TIL | Java - static
·
Java
정적제한자 static 더보기 Count 클래스 package day08.static_.var; public class Count { public int a; // static은 접근제어자 다음에 붙음 public static int b; } 메인 package day08.static_.var; public class MainClass { public static void main(String[] args) { Count c1 = new Count(); c1.a++; c1.b++; System.out.println("일반변수 : " + c1.a); System.out.println("정적변수 : " + c1.b); System.out.println(); Count c2 = new Count(); c2.a..
TIL | Java - OOP 특징 : 3.다형성
·
Java
3. 다형성 : 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미 - 상속이 없으면 불가능하다 - 부모타입에 모든 자식 객체가 대입될 수 있다. (서로 변환 가능) (부모님이 더 크기때문에 자식클래스가 부모에 자동 저장) - 객체들의 타입을 하나로 통일할 수 있기에 다형성 사용 - 원래 부모클래스에 있는 기능만 사용할 수 있지만 오버라이딩 된 메서드는 먼저 실행된다. package day08.poly.basic; //하나의 클래스 파일에 여러 클래스 선언이 가능합니다. //단, 파일명 동일한 클래스가 public 이어야 합니다. //1파일 1클래스 원칙 (자바에서는) //최고 부모님 Object! // Object // | class A extends Object{}// A class B exte..
TIL | Java - 키워드 this & super
·
Java
this( ) - 생성자 - 같은 클래스 안에 있는 생성자들끼리 서로 호출할 때 클래스 이름 대신 this() 를 사용 - 다른 생성자 호출시 첫 줄에서만 사용 가능 - 코드 중복을 제거하기 위해 서로 호출함 - 내 클래스가 갖고 있는 나의 멤버변수나 나의 메서드를 지칭할때 사용 - 반드시 생성자 블록 내부의 첫 라인에 기술 - 생성자의 첫 라인에는 반드시 this(), super()가 있어야 하는데 이를 기술하지 않으면 묵시적으로 super()가 삽입되어 부모클래스의 기본 생성자를 자동으로 호출합니다. this. - 참조변수 - 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 - this()와 연관이 없음 - 자신과 가장 가까운 변수를 참조한다. 인스턴스 변수 - Instance variabl..
TIL | Java - Overloading : 오버로딩
·
Java
Overloading : 오버로딩 메서드 중복 동일한 메서드를 여러개 만든다. 상속이랑 연관 없다. 규칙! 1. 이름 같게 2. 반환유형은 상관없다 3. 매개변수 유형, 개수, 순서 달라야한다. 매개변수에 따라 알맞게 실행된다!
TIL | Java - Overriding : 오버라이딩
·
Java
OOP의 특징 중 1.상속에 속하는 내용입니다. Overriding : 오버라이딩 쉬운말로 메서드 재정의 (덮어쓰기) 부모 클래스로부터 상속 받은 메서드를 자식 클래스에서 수정하거나 보완해서 사용하고 싶을 때 사용한다. 부모님 상속을 무조건 다 물려받지 않아도 된다. ( ex. 집을 물려받았는데 인테리어를 바꿀 수 있는것처럼! ) ✅ 오버라이딩 규칙 예시 ) void method01() { } // void 반환유형 // method01 이름 // () 매개변수값 - 우선 부모 클래스로부터 상속을 받아야 한다. - 반환 유형, 메서드 이름, 매개변수 선언이 똑같아야 한다. - 재정의된 메서드는 가장 먼저 수행된다. 🏁 예제 ( 1 ) 부모클래스 package day06.override; public cl..
TIL | Java - OOP 특징 : 2.은닉
·
Java
접근제한자 2022.10.07.fri / course13