전체 글 108

Extends, super

우리는 상속이라는 것을 통해서 사용하는 클래스에 직접 메소드를 추가하지 않아도 추가한 메소드를 사용할 수 있다. 아래의 예제를 보면 Second 라는 클래스와 Third 라는 클래스가 있다.나는 Info라는 함수를 하용하면서 동시에 Infonot도 사용하고 싶다.만약 내가 Second라는 함수를 수정할 수 없는 상황이라면 아예 새로운 클래스를 정의하여 확장을 통해 Infonot을 사용할 수 있다.여기서 Third를 자식 클래스 Second를 부모 클래스라고 한다. 이때 Third가 Second를 상속한다 또는 확장한다 라고 표현한다. - Extend상속의 효과 : 코드의 중복을 피할 수 있다. 재활용성이 높다. 유지보수가 편리하다. 가독성이 높아진다. - super super를 통해서 부모 클래스에 있는..

전역변수 / 지역변수

- 전역 변수(global variable) : method 밖에서 선언하는 변수 static : 전역으로 사용이 가능main method 밖에서 static int i 를 선언했다. method 밖에서 선언했지만 변수가 static 이기 때문에 메인 메소드 안에서 호출했을 때값을 출력할 수 있게 된다.만약 static 이라고 하지 않은 상태에서 호출한다면 아래와 같이 에러가 난다. (static 메소드 안에서 i 를 찾을 수 없기 때문에) 이렇게 static 을 선언하면 다른 곳에서 변수를 사용할 수 있게 된다.method 에서도 마찬가지로 사용이 된다.method a() 를 static 으로 선언했다. 메인에서 실행시키는데 무리가 없다. 그렇다면 static을 빼면 어떻게 될까 ?아래에서 볼 수 있듯..

클래스

클래스 : 객체를 만들기 위한 일종의 설계도인스턴스 : 그 설계도에 따라서 만든 구체적인 제품 재활용성, 유지보수의 편의성, 가독성 등이 좋아질 수 있도록 중복을 제거해야 한다. 그렇기 때문에 클래스와 메소드를 활용한다.예를 들어, 내가 평균을 구하고 싶다고 해보자.이런 식으로도 메인에서 평균 값을 출력할 수 있다. 하지만 코드가 점점 길어질 수록 이런 방법은 효율성이 떨어진다.이번에는 같은 class에 mean이라는 함수를 만들어 보았다.아까보다는 보기 좋아졌다. 하지만 이런 경우도 결국 mean이라는 함수에 int값을 매번 넣어줘야 하는 번거로움이 있다. 만약에 내가 mean이외에도 덧셈, 뺄셈을 하고 싶을 때 일일이 값을 넣어주는 것은 굉장히 번거롭다. 그리고 오류가 날 가능성이 크다. 그래서 하나..