jiseongkimu / java_test_1330

0 stars 0 forks source link

2020/09/12 static #4

Open jiseongkimu opened 4 years ago

jiseongkimu commented 4 years ago

static : 따로 선언하지 않고 바로 쓸 수 있음.(바로 메모리에 올라감) 일반 멤버 변수, 메소드는 인스턴스를 생성한 뒤에야 쓸 수 있다.(클래스를 통해 객체를 생성해야 가능) 그러므로 static범위 외 변수나 메소드는 사용할 수 없다.

클래스와 인스턴스 클래스 메소드는 인스턴스 멤버에 접근 불가 인스턴스 메소드는 클래스 멤버에 접근 가능

jiseongkimu commented 4 years ago

gitignore 설정을 통해 필요없는 파일을 commit하지 않도록 할 수 있음

jiseongkimu commented 4 years ago

객체지향 언어 특징

  1. 캡슐화(정보 은닉) : 데이터와 함수를 하나로 묶고, 외부로부터 숨김 - 작동 원리는 숨기고, 사용 방법만을 노출 why - 오류의 파급 효과가 적어짐, 재사용 용이(높은 응집도, 낮은 결합도)
  2. 추상화 : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것(모델화) why - 여러가지 테스트 가능,
  3. inheritance : 인터페이스는 부품들간의 약속. 하위 클래스는 상속받은 상위 클래스의 기능을 그대로 사용 가능 why - 재사용 용이
  4. 다형성 : 같은 모양의 코드가 다른 행위를 한다 (overring : 같은 메소드, 다른 기능 / overloading : 인자가 다른 같은 이름의 메소드)
DaeAkin commented 4 years ago

캡술화 추상화는 주로 어떤 방법을 이용해서 할까요

jiseongkimu commented 4 years ago

추상화는 하나의 설계처럼 목표와 기능을 중점으로 구상하고, 캡슐화는 클래스를 만들고, 인스턴스 객체를 생성해서 그 객체의 데이터, 함수를 쓴다? 어떤 방법을 잘 모르겠네여

DaeAkin commented 4 years ago

추상화는 상속과 인터페이스를 잘 구현하면 되는데 이건 나중에 배우기로 하고 캡슐화는 private를 잘 이용해서 접근자로 제어 가능하고, setter를 거의 쓰지 않으면 됨.

jiseongkimu commented 4 years ago

캡슐화는 private변수를 메소드를 이용해서 간접적으로 접근하는 것이군요. setter는 오히려 객체를 변경할 수 있는 여지를 주기 때문인가용.

DaeAkin commented 4 years ago

그쳐 변경의 여지를 주지 않으면 되기 때문이져 그럼 setter 없이 객체를 어떻게 변경하는 것이 좋냐? 이거에 답변은 다음시간에