[공공데이터 개발과정] 0328 자바

송경근·2023년 5월 13일
0

자바 배우기

목록 보기
11/18

사담

프로그래머로 살아남으려면 설계를 해야한다!!
코더는 대체될 것 이다.

코딩 : 코드작성 + 실행
프로그래밍 : 설계 > 코딩 > 오류 > 업데이트
현업의 프로세스


프로그래머로 살아남으려면 설계를 해야한다!!
코더는 대체될 것 이다.

상속,다형성

추상 클래스와 인터페이스 때문에 배운거다~

상속

유지보수
	가독성,코드 재사용

다형성

하나의 코드를 실행했을 때 여러가지 결과가 나오는것.
오버라이딩(재정의)

#상속받은 자식 개체는 부모의 기본 생성자를 가져와서 생성됨.

모듈화

클래스와 패키지로 접근을 제어하는 자바로는 소프트웨이 개발을 효과적으로 하기 어려움.
	패키지의 캡슐화 기능 부족
	누락된 클래스 탐지 어려움
	단일 구성 런타임 플랫폼의 비효율성
	
메모리 효율이 좋아져서 속도가 올라감
사용할 기능만 import
Import 문 생성되는건 다 모듈이다!

#instanceof 상속관계에서 다운캐스팅 할때 사용.
부모자식관계가 아니라면 무조건 오류

추상 클래스와 인터페이스

추상클래스

객체를 생성 할 수 있는 실체 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스
메소드에 구현부를 만들어놓지않은 클래스 
설계를 할 때 추상 클래스를 사용함.
쓰는 이유는 오로지 상속때문이다~

선언

클래스 선언에 Abstract 키워드를 붙임
New 연산자를 이용해서 객체를 직접 만들지 못하고 상속을 통해 자식 클래스만 만들 수 있다.


하나라도 추상 메서드를 가지고 있는 클래스는 추상 클래스라서 구현부를 적을 수 없다~

추상 메소드와 재정의

자식 클래스의 공통 메소드를 뽑아내어 메소드 선언부만 동일학 실행 내용은 다를 때
추상 메소드 선언
뭘 만들건지 적어놓는 것
추상 메소드		What 뭘 만들건지
자식 메소드		How 어떻게 만들건지

추상 메서드

메서드 본체를 완성하지 못한 메서드
	무엇을 할지는 선언가능.
	어떻게 할지는 정의 불가능
추상 클래스
	보통 하나이상의 추상 메서드를 포함
	상속계층에서 자식 멤버의 이름을 통일하기 위해 사용


상속 받아서 구현할 수 있기 때문에 설계를 잘 해야한다!

클래스 다이어그램을 봤을 때 코드화가 가능해야하고
코드를 봤을 때 클래스 다이어그램화가 가능해야함!

완성된 test.class >>> 메서드 작성
Test.class 작성 <<< 완성된 메서드

이걸 연습해야한다!

인터페이스

두 객체를 연결해주는 역할
다형성 구현에 주된 기술

현업에서 무조건 사용하는 아이다~

Ø 메서드 내용을 구현하지않음
Ø 모든 메서드가 추상 메서드!
Ø 모든 변수는 상수!

추상클래스와 인터페이스의 다른 점

인터페이스	 강제적
추상클래스	 선택적

인터페이스 선언

	Class 대신 interface 키워드 사용
	접근제한자로는 default(패키지 내에서 사용), public(어디서든 사용)

구현 클래스 선언

인터페이스에 정의된 추상 메소드에 대한 실행내용이 구현

상수 필드

인터페이스는 불변의 상수 필드를 멤버로 가짐.
자동으로 컴파일 과정에서 public static final 키워드가 붙는다.

추상 메서드

정적 메서드

구현 객체가 없어도 호출 가능

장점

통합에 신경쓰지않고 다양한 형태로 새로운 클래스 개발가능
자바에선 다중상속을 지원하지않지만, 인터페이스로 다중 상속 효과를 간접적으로 얻을 수 있다.

자바가 제공하는 인터페이스

많이 있따~ 뒤에 패키지에서 배운다~

구조

Default 메소드와 private 메서드는 사용되지않음.

추상 메소드 와 정적 메서드

인스턴스는 힙에 생성된당

인터페이스 기초

선언한 인터페이스가 클래스에 사용 하는 것을 클래스에서 인터페이스를 구현한다.라고 표현함

profile
개발자가 되려는 학생입니다

0개의 댓글