본문 바로가기

자바4

Java Interface(인터페이스) Interface : abstract만 가지는 완전체 추상 클래스. 인터페이스는 규칙없이 동작이름을 짓는것을 방지하기 위해 동작의 이름을 규격화시킨다. 기능의 이름을 통일시켜 관리를 용이하게 한다. 예를 들어 메모앱을 만든다고하자. 개발자들이 메모작성 메소드를 write, note, memo 등등 제각각쓰게되면 관리자 입장에서는 혼돈이 온다. 그래서 인터페이스를 구축하여 메모작성 메소드의 이름을 write로 통일하게끔 강제적으로 만든다. public interface Memo{ abstract void write();//기능의 이름만 정하는 설계도면임 ////일반 메소드는 만들수없다. 에러! 인터페이스는 규격을 만드는 메소드이다! //void show() { // //} //인터페이스 안에서는 모든 메소.. 2023. 2. 5.
java Final Final : 직관적으로 이해! 마지막이라는뜻 ! class에 Final을 붙여보자 //나는 내 멤버를 상속하지 않을것이다 (그러나 나는 받을래) public final class First { void show() { System.out.println("First....."); } } class에 final을 붙이면 .. : 나는 내 멤버들을 넘겨주지않을거라는 뜻. 여기서 마지막이다. ※ 그렇지만 부모의 멤버는 받을것이다 (약간 이기적) 메소드와 필드에도 final을 붙이면.. public class Test { final int USER_NUM=100; //final 멤버변수도 처음에 만들때 초기화한다. //static변수 or class변수라고도 한다 public static final int CO.. 2023. 1. 29.
java 오버라이드(Override) 오버라이드(Override) : 상속받은 메소드를 수정하고싶을때 step1 임의의 클래스(First 클래스)를 만든다. public class First { private int a; public void show() { System.out.println("a : "+ a); } } step2 First를 상속받자 public class Second extends First{ private int b; //멤버값을 출력하는 메소드(상속받은 a변수도 출력할 의무가 있다) //상속받은 출력기능 show는 a 변수만 함.. 개선하자!! //이를 개선하기 위해 Override : 이미 부모에게 받은걸 좀 수정 public void show() { System.out.println(); //부모의 프빗a는 못쓴다.. 2023. 1. 29.
java 상속 (Inheritance) 상속 (Inheritance): 원래 class(설계도면) 을 내려받는 상황 기존 클래스에서 필드 하나만 추가해야하는 상황이라면? class를 상속하여 쓰자! 구분 C# java C++ First parent super base ↑ ↑ ↑ ↑ Second child sub driven 언어마다 상위클래스 - 하위클래스를 부르는 명칭이 다르지만 현업에서는 보통 섞어서 쓴다. 다 알아두면 좋다. ※ 직관적으로 단어 뜻을 보면 누가 상위클래스인지 바로 알수는 있다. parent - child를 주로 쓰자. 상속의 문법적 사용 extends 상위클래스 {} class Member extends Person{ } 위 코드는 Person class를 상속받았다는 뜻이다. 상속을 해보자 step1 임의의 class(.. 2023. 1. 29.