전체 글

전체 글

    오버라이딩(Overrring)

    오버라이딩(Overrring)

    2. 오버라이딩의 역할 1) Dog d = new Dog(); d.eat(); d객체변수의 타입이 Dog 타입이므로 부모의 eat("먹다") 가 무시가 되고, 오버라이딩(Overriding)된 자식의 eat("개처럼 먹다")가 출력된다. 2) Animal d=new Dog(); d.eat(); 원칙적으로 객체변수타입이 Animal이므로 객체변수 d접근할수 있는 객체는 Animal 객체이며는 Dog객체의 eat()에 접 근할 수 없다. 그러나 오버라이딩하는 경우 객체변수 d는 Dog객체의 eat()에 접근할수 있다. 따라서 d.eat()하는 경우 "개처럼 먹다"가 출력된다. 인프런의 Java TPC강의자료참고

    클래스의 정의

    클래스의 정의 1. DataType측면 : 새로운 자료형을 만드는(설계하는) 도구 = 모델링도구class를 Model이라고도 부른다. Class==설계도==Model 2. OOP 측면 : 객체의 상태정보(필드)와 행위정보(메소드)를 추출하여 캡슐화 하는 도구 3. Data transfer 측면 : 객체를 이동시키기 위한 이동수단(바구니) 우리가 만드는 Model(클래스)의 종류 1. DTO(Data Transfer Objec) : 데이터를 이동시키기 위해 담는 역할 2. DAO(Data Access Object) : 데이터를 처리하는 역할(비즈니스 로직), 데이터베이스와 CRUD하는 역할 3. Utility(Helper Object) : 도움을 주는 기능을 제공하는 역할(날짜, 시간, 인코딩 등) ※추가..

    정보은닉에서의 Getter Setter

    정보은닉 (private) : 다른 객체로부터 접근을 막는 것 public class Member { private String name private int age; private int gender; private String address; public void setName(String name){ this.name = name; } public String getName(){ return this.name; } 결론 : private를 필드를 선언해서 다른 객체의 접근을 막아버리자 다만, 별도의 Setter를 통해서 필드값을 주입(저장)하거나 Getter 통해서 해당 필드 값을 읽어보자

    생성자

    생성자 메서드(Constructor) 객체를 생성할 때 사용되는 메서드 내부적으로 객체를 생성한 후 객체를 초기화하는 역할을 수행 특징생성자는 return 값이 없다. 파라미터가 없는 기본 생성자가 컴파일러에 의해 만들어진다. 클래스이름과 동일한 메서드 기본 생성자가 없을 경우 컴파일러가 자동으로 기본생성자를 만들어지지만, 생성자에 파라미터 값이 있는 경우 기본생성자는 별도로 생성되지 않는다. (매우 중요) 따라서 별도로 기본생성자를 별도로 적어주어야 한다. private 생성자(Constructor) 생성자 메소드가 private 접근제어자를 가지면, 객체를 생성할수 없다. 그러면 객체를 사용하지 않고도 특정 클래스 내의 필드나 메소드를 사용 할 수 있어야 한다. 객체 생성없이 다른 클래스의 필드나 메..