자바 191

JAVA 자바 final 클래스와 final 메서드

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ final 클래스와 final 메서드 클래스를 선언할 때 final 키워드를 class 앞에 붙이게 되면 최종적인 클래스가 돼서 상속할 수 없는 클래스가 됩니다. => final 클래스는 부모 클래스가 될 수 없기 때문에 자식 클래스를 만들 수 없음. public final class 클래스 { ... } 따라서 public class 자식클래스 extends 클래스 { ... } 할 수 없습니다. 예제)public final class Member {}//public class VeryVeryImportantPerson ext..

자바 2017.03.12

JAVA 자바 메서드 재정의 - 부모 메서드 호출(super)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 자식 클래스 내부에서 오버라이딩된 부모 클래스의 메서드를 호출해야 하는 경우가 생긴다면 super 키워드를 붙여서 부모 메서드를 호출할 수 있습니다. super는 부모 객체를 참조하고 있기 때문에 부모 메서드에 직접 접근 가능합니다. 예제)부모 클래스public class Airplane { public void land() { System.out.println("착륙합니다."); } public void fly() { System.out.println("일반비행합니다."); } public void takeOff() { Sys..

자바 2017.03.12

JAVA 자바 메서드 재정의 - 메서드 재정의(@Override)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 메서드 재정의 부모 클래스의 모든 메서드가 자식 클래스에 맞게 설계되어 있다면, 가장 이상적인 상속입니다.하지만 어떤 메서드는 자식 클래스가 사용하기에 적합하지 않을 수도 있겠죠?상속된 일부 메서드는 자식 클래스에서 다시 수정해서 사용해야 합니다. 이런 경우를 위해 메서드 오버라이딩(Overriding) 기능을 제공합니다. 메서드 재정의(@Override) 메서드가 오버라이딩 되었다면 부모 객체 메서드는 숨겨지기 때문에 자식 객체에서 메서드를 오출하면 오버라이딩된 자식 메서드가 호출 아래 같은 규칙에 주의해서 작성해야 합니다.-..

자바 2017.03.12

JAVA 자바 부모 생성자 호출

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 자식 객체를 생성하면 부모 객체가 먼저 생성되고 그 다음에 자식 객체가 생성됩니다.Blog 객체만 생성되는 것으로 보이지만 내부적으로는 부모 객체인 Naver 객체가 먼저 생성되고Blog 객체가 생성됩니다.Naver Blog = new Naver(); 모든 객체는 클래스의 생성자를 호출해야만 생성이 됩니다. 부모 객체도 예외는 아닙니다. 부모 객체를 생성하기 위해서는 부모 생성자가 필요한데, 부모 생성자는 자식 생성자 맨 첫 줄에서 호출됩니다. Blog의 생성자가 명시적으로 생성되지 않았다면 컴파일러는 아래와 같은 기본 생성자를..

자바 2017.03.12

JAVA 자바 클래스 상속

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 자식 클래스를 선언할 때 어떤 부모 클래스를 상속 받을 것인지를 결정하고 선택된 부모 클래스는아래와 같이 기술합니다. Naver 클래스를 상속하는 Blog 클래스를 설계하고 싶다면class Blog extends Naver { } 처럼 작성하면 됩니다. 다른 언어와 달리 자바는 다중상속을 허용하지 않습니다. 자식 클래스가 여러개의 부모 클래스를 가질 수 없습니다.extends 뒤에는 단 하나의 클래스만 와야합니다. 클래스 상속 예제)부모 클래스public class CellPhone { //필드 String model; Stri..

자바 2017.03.12

JAVA 자바 상속의 개념 , 자바 상속

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 상속의 개념http://blog.naver.com/rain483/220514481699상속은 재사용 + 확장입니다. 객체 지향에서 상속은 분류도라고 할 수 있습니다.객체 지향에서 상속은 상위클래스의 특성을 하위클래서에서 상속(특성상속)하고 거기에 더해필요한 특성을 추가, 즉 확장하여 사용할 수 있다는 의미죠. 상속관계에서 반드시 만족해야할 문장이 있어요.바로 하위클래스는 상위클래스다 입니다.그럼 상속의 강력함을 보여주는 예제를 보겠습니다.예제1)package inheritance01; public class 동물 { String..

자바 2017.03.12

JAVA 자바 어노테이션 유지 정책과 런타임 시 어노테이션 정보 활용하기

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 어노테이션 유지 정책 어노테이션 정의 시 사용 용도에 따라 @AnnotationName을 어느 범위까지 유지할 것인지 지정해야 합니다.소스상에만 유지할 건지, 컴파일된 클래스까지 유지할 건지, 런타임 시에도 유지할 건지를 지정해야 합니다. 어노테이션 유지 정책은 java.lang.annotation.RetentionPolicy 열거 상수로 아래와 같이 정의되어 있습니다. RetentionPolicy 열거 상수 설명SOURCE 소스상에서만 어노테이션 정보를 유지한다. 소스 코드 를 분석할 때만 의미가 있으며 바이트 코드 파일에는 ..

자바 2017.03.12

JAVA 자바 어노테이션 타입의 정의와 적용, 어노테이션 적용 대상

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 어노테이션 어노테이션(Annotation)은 메타 데이터(metadata)라고 볼 수 있습니다. 메타데이터 : 애플리케이션이 처리해야 할 데이터가 아니라 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보입니다. 어노테이션은 아래와 같은 형태로 작성합니다.@AnnotationName그리고 세 가지 용도로 사용됩니다.-컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공-소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동을 생성할 수 있도록 정보를 제공-실행 시(런타임 시) 특정 기능을 실행하도록 정..

자바 2017.03.12

JAVA 자바 Getter 와 Setter

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ Getter 와 Setter 메서드 일반적으로 객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막습니다. 객체의 데이터를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성이 깨어질 수 있기 때문입니다.예를 들어 자동차의 속도는 음수가 될 수 없는데 외부에서 음수로 변경하면 무결성이 깨집니다. 이러한 문제점 해결을 위해 메서드를 통해 데이터를 변경하는 방법을 선호합니다. 데이터는 외부에서 접근할 수 없도록 막고 메서드는 공개해서 외부에서 메서드를 통해 데이터에 접근하도록 유도하는 것입니다. 메서드는..

자바 2017.03.12

JAVA 자바 필드 접근 제한과 메서드 접근 제한

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 필드와 메서드 접근 제한 필드와 메서드를 선언할 때 고려해야 할 사항은 클래스 내부에서만 사용할 것인지, 패키지 내에서만 사용할 것인지, 아니면 다른 패키지에서도 사용할 수 있도록 할 것인지를 결정해야 합니다. 이것은 필드와 메서드가 어떤 접근 제한을 갖느냐에 따라 결정됩니다. 필드와 메서드는 public, protected, default, private 접근 제한을 가질 수 있습니다. 예제1)package field_method_access.package1; public class A { //필드 public int fiel..

자바 2017.03.12