Java 객체지향 프로그래밍 복습[사전스터디]

스브코·2021년 10월 22일
0

오늘은 항해99 사전준비를 하기 위해 학교에서 다 배운거지만 개발을 안한지 꽤 시간이 흘러서 다시 Java 객체지향 프로그래밍 개념에 대해 복습하고 내 자신을 재점검하고자 스파르타 코팅클럽에서 제공한 강의를 다시 수강해 보았다.

용어 정리

클래스 - 표현하고자 하는 대상의 공통 속성을 한 군데에 정의해 놓은것
맴버변수 - 클래스 내부의 정보를 의미
인스턴스 - 클래스로부터 만들어진 객체(new로 생성)
메소드 - 특정 작업을 수행하기 위한 명령문의 집합
생성자 - 클래스의 인스턴스를 생성할때 불리는 초기화 메소드, return값이 없다
상속 - 기존 클래스를 재사용하는 방식, 코드와 클래스가 많아질수록 관리가 용이하다는 장점이 있다. extends로 부모 클래스를 상속한다. 주로 UML다이어그램을 사용하여 나타낸다.

상속의 특징

  • 부모 클래스에서 정의된 필드와 메소드를 물려 받는다.
  • 새로운 필드와 메소드를 추가할 수 있다.
  • 부모클래스에서 물려받은 메소드를 수정 할 수 있다.
  • 여러 부모클래스를 상속 받을 수 없다.

메소드 오버로딩 - 한 클래스내에서 동일한 이름의 메소드를 여러개 가지는 것. 메소드의 이름과 리턴 타입이 같다면 매개변수의 갯수 또는 타입이 달라야 한다. 메소드의 이름과 매개변수의 타입 및 갯수가 같지만 리턴타입이 다르다면 오버로딩으로 여기지 않는다.

메소드 오버라이딩 - 부모 클래스에서 상속받은 메소드를 자식 클래스에서 재정의해서 덮어버리는 것.

접근제어자 - 멤버변수/함수 혹은 클래스에 사용되며 외부에서의 접근을 제한하는 역할, 캡슐화를 돕는 하나의 도구

접근제어자 종류

  • private - 같은 클래스 내에서만 접근이 가능하다
  • default(nothing) - 같은 패키지 내에서만 접근이 가능하다
  • protected - 같은 패키지 내에서, 그리고 다른패키지의 자식 클래스에서 접근이 가능하다.
  • public - 접근제한이 전혀 없다.

추상 클래스와 인터페이스

추상 클래스와 인터페이스에 대해 잘 설명된 블로그

추상클래스 - 추상클래스를 상속한 클래스에서 완성되도록 미리 설계해주는 클래스로써, 객체를 생성할 수 없다.

인터페이스 - 다른 클래스를 작성하는데 도움을 주는 설계도

서로 다른점

  • 추상클래스는 다중 상속 불가능, 인터페이스는 가능
  • 사용 용도가 다르다.


위 블로그에서 가져온 다이어그램(이해하기 쉽게 표현되어 있다>_<)

profile
익히는 속도가 까먹는 속도를 추월하는 그날까지...

0개의 댓글

관련 채용 정보