Java programming 01.04

kang.dev·2023년 1월 4일
0

백엔드과정

목록 보기
4/4
post-thumbnail

continue
다음 반복으로 넘어감.

메서드

메서드와 함수의 정의
함수를 정의하고 있는 공간은 클래스 안이다.
클래스 안에 정의한 함수를 메서드라고 부름
클래스 바깥에 있는 함수를 일반 함수라고 부른다.
자바에서는 일반함수가 없다. 모든 파일이 클래스이기 때문에

오버로딩

메소드 오버로딩(오버로드) Overload 부를 때 쓰는 것. 오버라이딩은 덮어쓰는 것.
불러들일 때 어떤 메서드를 사용할 지 결정하기 때문에 리턴값은 상관없음.

public static void ov1() {
	System.out.println("매개변수 없음");
}

public static void ov1(int a) {
	System.out.println("int 매개변수 하나");
}

public static void ov1(int a, String b) {
	System.out.println("int 먼저 그다음 String");
}

public static void ov1(String a, int b) {
	System.out.println("String 먼저 그다음 int");
}

객체지향언어
Object-Oriented Programming, OOP

객체란 세상에 존재하는 모든 것을 의미
프로그래밍 관점에서는 객체들의 관계성을 사용하여 순차적으로 수행되는
프로그램 내에서 객체들 간에 관계를 형성하여 프로그램을 동작함.

변수명은 명사로, 메서드명은 동사로.

상속

의미 그대로 상위 클래스의 모든 것을 상속받아 사용하는 것
부모와 자식 관계(데이터의 관계성)

캡슐화

데이터와 기능을 외부로부터 접근은 차단하고 권한 또는 절차 없이 데이터를 변경 또는 기능 수행을 할 수 없게 캡슐처럼 보호함.(데이터의 은닉성)

추상화

추상의 사전적 정의
여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용

추상적인 요소들을 묶어서 분류하는 것
학생, 선생, 학부모 등 사람이라는 추상적인 요소로 분류할 수 있음(데이터의 구조화)

다형성

객체의 기능이 다양한 형태를 가질 수 있음.
상속과 깊은 관계를 가진다.
한 부모 밑에서 태어난 자식이 완전히 같을 수 없듯이 객체 또한
부모 클래스로부터 상속받은 데이터와 기능을 자식 클래스에서 재정의하여 사용할 수 있음.

객체지향 언어의 장점

  1. 재사용성 : 상속을 통해 코드의 재사용성을 높일 수 있음.
  2. 생산성 향상 : 클래스 단위의 부품들을 조립.
  3. 유지보수의 우수성 : 구조환 된 소스코드 클래스단위로 소스코드를 관리할 수 있음.

객체지향 언어의 단점

  1. 객체를 세분화하여 설계하여아한다.
  2. 실행 속도가 절차지향 언어 대비 느리다.
  3. 상속으로 인하여 관계가 많이 형성되면 코딩의 난이도가 높아진다.

class

객체에 대하여 정의해 놓은 설계도,
참조자료형-데이터를 담을 수 있는 공간

object
클래스를 통해 구현할 수 있는 모든 대상
즉, 해당 클래스로 구현한 인스턴스를 대표하는 의미, 개념

instance
객체가 실제로 구현된 것
클래스의 인스턴스라고 표현함.
메모리를 할당 받은 것, 실체

new
-new는 키워드
-new는 생성자를 쓰기위한 키워드,같이 써야함. 세트.
-new + 생성자 -> 동적 메모리 할당, 힙

힙(동적메모리)의 주소를 스택(정적메모리) 에 담아둔다.
str1. 점을 찍는 행위를 참조라고함.

생성자는 클래스명과 일치. 형태는 메서드 형태
클래스는 주소값만 들어가서 반환자료형을 생략해놓음. 주소값을 리턴해준다.

0개의 댓글