책 공부/자바의 신 (5) 썸네일형 리스트형 interface 와 abstract class interface 와 abstract class interface 와 abstract class를 사용하는 이유 설계시 선언해 두면 개발할 때 기능을 구현하는 데에만 집증할 수 있다. 개발자의 역량에 따른 메소드의 이름과 매개 변수 선언의 격차를 줄일 수 있다. 공통적인 인터페이스와 abstract class를 선언해 놓으면, 선언과 구현을 구분할 수 있다. interface interface안에는 몸통이 없는 메소드가 선언되어 있다. public boolean equals(Object o); interface 정리 interface는 몸통이 있으면 안된다. (메소드 선언 후 중괄호를 열고, 닫거나, 중괄호 안에 한 줄의 코드도 있으면 안된다.) interface는 static이나 final 메소드가 선.. Java에서 this란 무엇인가? this란? java에서 this란? this는 자기 자신을 참조하는 방식이다. 사용법 this는 보통 매개변수를 받는 생성자에서 사용하는 예약어로 많이 보았을 것이라고 생각한다. public class MemberDTO { public String name; public String phone; public String email; public MemberDTO(){} // 기본생성자 public MemberDTO(String name){ this.name = name; } public MemberDTO(String name, String phone){ this.name = name; this.phone = phone; }public MemberDTO(String name, String phone, S.. java final 알아보기 final java에서 final을 언제 사용할가? java에서는 final이라는 예약어를 클래스, 메소드, 변수에 사용할 수 있다. class에서 final을 사용하는 이유 public final class FinalClass{ } // error: cannot inherit form final FinalClass public class ExtendFinalClass extends FinalClass{ } Class에서 final을 사용하면 해당 클래스를 상속할 수 없다. 즉 더 이상 확장해서는 안 되는 클래스, 누군가 이 클래스를 상속받아서 내용을 변경해서는 안 되는 클래스를 선언할 때 final을 class앞에 선언한다. 메소드에서 final을 사용하는 이유 public abstract class .. 오버로딩(overloading) vs 오버라이딩(overriding) overloading vs overriding overloading 오버로딩 사전적 의미로는 "과적하다, 너무 많이 부하를 주다"라는 뜻이다. 이걸 자바에 대입해 보자면 하나의 메소드 이름을 사용하면서 여로 기능을 제공한다는 의미로 해석할 수 있고, 하나의 메소드 이름으로 많은 부하를 준다고도 볼 수 있다. 오버로딩은 메소드들은 모두 이름이 동일하지만 각 메소드 매개변수의 종류와 개수, 순서가 다르다. 여기서 매개변수의 개수가 같더라도 타입의 순서가 다르다면 다른 메소드로 인식한다. ( 중요! 매개 변수의 이름이 아니라 매개 변수의 타입) 타입이 다르다면 다른 메소드로 인식하지만 타입이 같다면 같은 메소드로 인식한다. + return type, 접근 제어자는 영향을 주지 않는다. public class .. 자바의 신 기본 정리 자바의 신 객체지향 관령 용어 클래스 상태와 행위를 갖는 자바의 기본 단위 상태와 행위 어떤 사물을 나타낼 때에는 상태와 행위로 구분하여 표시하는 것이 가능하며 자바에서는 상태는 클래스나 인스턴스 변수로 나타내고 행위는 메소드로 나타낸다. 캡슐화 상태와 행위를 결정하는 기능을 묶어 주는 의미로 클래스 밖에서 접근 가능한 대상을 제한하는 정보은닉, 하나의 객체를 위한 코드가, 다른 객체를 위한 코드와 무관하게 사용할 수 있는 모듈화 기능이 있다. 메시지 메소드에서 다른 메소드를 호출할 때 전달하는 값을 메시지라고 한다. 객체 클래스는 사물의 단위를 의미하고, 객체는 각 사물을 의미한다. 상속 부모에 선언된 변수와 메소드를 자식이 사용하는 것을 말한다. Overriding 부모 클래스에 선언되어 있는 메소드.. 이전 1 다음