본문 바로가기
반응형

코딩19

[ Java ] 실전자바-기본편 12.다형성3 좋은 객체 지향 프로그래밍이란? 객체 지향 특징 추상화 캡슐화 상속 다형성 객체 지향 프로그래밍 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것, 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다(협력) 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 다형성의 실세계 비유 실세계와 객체 지향을 1:1로 매칭 x 그래도 실세계의 비유로 이해하기에는 좋음 역할과 구현으로 세상을 구분 역할과 구현을 분리 역할과 구현으로 구분하면 세상이 단순해지고, 유연해지며 변경도 편리해진다. 장점 클라이언트는 대상의 역할(인터페이스)만 알면 된다. 클라이언트는 구현 대상의 .. 2024. 2. 26.
[ Java ] 실전자바-기본편 11.다형성2 다형성 활용1 다형성을 사용하지 않고 프로그램을 개발한 경우 package poly.ex1; public class Dog { public void sound() { System.out.println("멍멍"); } } package poly.ex1; public class Cat { public void sound() { System.out.println("냐옹"); } } package poly.ex1; public class Caw { public void sound() { System.out.println("음매"); } } package poly.ex1; public class AnimalSoundMain { public static void main(String[] args) { Dog dog.. 2024. 2. 26.
[ Java ] 실전자바-기본편 10.다형성1 객체짓향 프로그래밍의 대표적인 특징으로는 캡슐화, 상속, 다형성이 있다. 다형성을 이해하기 위해서는 크게 2가지 핵심이론을 알아야 한다. 다형적 참조 메서드 오버라이딩 다형적 참조란 부모와 자식이 있고, 각각 다른 메서드를 가진다. package poly.basic; public class Parent { public void parentMethod() { System.out.println("Parent.parentMethod"); } } package poly.basic; public class Child extends Parent { public void childMethod() { System.out.println("Child.childMethod"); } } package poly.basic; /.. 2024. 2. 22.
[ Java ] 실전자바-기본편 9.상속 상속 상속 관계가 필요한 이유 package extends1.ex1; public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public void charge() { System.out.println("충전합니다."); } } package extends1.ex1; public class GasCar { public void move() { System.out.println("차를 이동합니다."); } public void fillUp() { System.out.println("기름을 주유합니다."); } } package extends1.ex1; public class CarMain { public static.. 2024. 2. 19.
[ Java ] 실전자바-기본편 8.final final 변수와 상수 변수에 final 키워드가 붙으면 더는 값을 변경할 수 없다. final은 class,method를 포함한 여러곳에 붙을 수 있다. package final1; public class FinalLocalMain { public static void main(String[] args) { //final 지역 변수1 final int data1; data1 = 10; //최초 한번만 할당 가능 //data1 = 20; //컴파일 오류 //final 지역 변수2 final int data2 = 10; //data2 = 20; //컴파일 오류 method(10); } //final 매개변수 static void method(final int parameter) { //parameter =.. 2024. 2. 16.
[ Java ] 실전자바-기본편 7. 자바 메모리 구조와 static 자바 메모리 구조 메서드 영역: 클래스 정보를 보관한다. 이 클래스 정보가 붕어빵 틀이다. 스택 영역: 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다. 힙 영역: 객체(인스턴스)가 생성되는 영역이다. new 명령어를 사용하면 이 영역을 사용한다. 쉽게 이야기해서 붕어빵 틀로부터 생성된 붕어빵이 존재하는 공간이다. 참고로 배열도 이 영역에 생성된다. 메서드 영역: 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다. 클래스 정보: 클래스의 실행코드(바이트 코드), 필드 , 메서드와 생성자 코드등 모든 실행 코드가 존재한다. static 영역: static변수들을 보관한다. 런타임 상수 풀: 프로그램을 실행하는데 필요한 공통 리터럴 .. 2024. 2. 15.
반응형