본문 바로가기

Develop/Java6

객체지향 프로그래밍이란? 객체지향 프로그래밍(OOP : Object-Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 객체들 간의 상호작용을 통해 프로그램을 설계하고 개발하는 것 객체지향 언어의 특징 캡슐화 다형성 상속 추상화 : 여러 객체들의 공통적 특징을 묶는 것 객체지향 언어의 장/단점 장점 상속을 통해 코드의 재사용성을 높임 독립적인 객체들을 사용하므로 개발의 생산성을 향상 시킴 절차 지향 프로그래밍은 코드 수정시 일일히 찾아서 변경해야하지만, 객체 지향 프로그래밍은 클래스 내부의 메서드나 멤버변수만 수정하면 되므로 코드 수정이 용이 클래스 단위로 모듈화 시켜서 개발이 가능하므로 대형 프로젝트에 적합 단점 절차 지향 프로그래밍은 컴퓨터 처리 구조와 비슷해 .. 2021. 10. 31.
[JAVA] 오버로딩 VS 오버라이딩 오버로딩 메서드의 이름은 같고 매개변수의 갯수나 타입이 다른 함수를 정의하는 것 오버라이딩 상위 클래스의 메서드를 하위 클래스에서 재정의 하는 것 메서드 이름은 물론 매개변수의 갯수, 타입이 완전히 일치해야함 상위 클래스의 동작을 상속받은 하위 클래스에서 변경하기 위해 사용 오버로딩은 상속과 관련이 없지만 오버라이딩은 상속과 관련이 있다 2021. 10. 31.
[JAVA] 캡슐화 & 다형성 & 상속 캡슐화란? 관련있는 변수나 메서드를 하나의 클래스로 묶어서 외부에서 쉽게 접근하지 못하도록 하는 것 정보 은닉이 목적 객체에 직접적인 접근을 막고 객체가 제공하는 필드나 메소드를 통해서만 접근이 가능 다형성이란? 하나의 객체가 여러 가지 타입을 가질 수 있는 것 자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현 큰 객체 안에 작은 객체를 넣어서 여러 형태로 변환해 사용하는 것 부모 타입의 자식 객체 class Parent { void call() { System.out.println("부모") } } class Child extends Parent { void call() { System.out.println("자식") } } ... Parent pa .. 2021. 10. 31.
[JAVA] 코딩테스트 자주 사용하는 함수 int[] arr = {1,8,6} static int [] dx = {1, -1 , 0, 0}; static int [] dy = {0, 0, 1, -1}; ArrayList[][] a = new ArrayList[N+1][N+1] //2차원 ArrayList Arrays.sort(arr); // 오름차순 정렬 Arrays.sort(arr,Collections.reverseOrder()); // 내림차순 정렬 Arrays.sort(int[][] jobs, ((o1,o2)->o1[0]-o2[0]) // 0번째 원소를 기준 오름차순 Arrays.sort(int[][] jobs, ((o1,o2)->o2[0]-o1[0]) // 0번째 원소를 기준 내림차순 Arrays.copyOfRange(arr,2,4) //.. 2021. 10. 16.
[JAVA] List Collection List는 Collection 인터페이스를 확장한 자료형으로 Arraylist, Linkedlist가 있다. Arraylist 일반 배열(Array)과 ArrayList는 인덱스로 객체를 관리한다는 점에서 동일하지만, 크기를 동적으로 늘릴 수 있다는 점에서 차이점이 있다. Array는 사이즈를 초기화 시 고정하는 반면 ArrayList는 초기화 시 사이즈를 표시하지 않는다. int[] Array = new int[6]; ArrayList arrayList = new ArrayList(); 길이에 대해 배열은 length 변수를 쓰고, arrayList는 size() 메서드를 써야한다. 또한 Arraylist는 add()나 remove()와 같은 함수를 통해 변경이 가능하다. 삽입/삭제 과정 Linkedl.. 2021. 10. 4.
[JAVA] 자바란? 자바(JAVA) 자바는 객체지향 언어로 객체지향의 대표적인 특징인 캡슐화, 상속성, 다형성을 지원한다. 객제지향이란 객체들을 먼저 만들고 이것들을 연결하여 프로그램을 만드는 방식을 의미한다. 캡슐화 : 관련이 있는 변수나 메소드를 하나의 클래스로 묶고 외부에서 직접적인 접근이나 변경이 불가하도록 하는 은닉목적으로 사용 다형성 : 하나의 객체가 여러 개의 타입을 가질수 있는것 상속성 : 반복적인 코드를 줄이고 재사용성을 향상시켜줌. 어떠한 클래스가 있으면 그 클래스로부터 여러개 객체를 생성하는 것 자바의 특징 1. 높은 이식성 자바 실행환경(JRE)가 설치되어있는 모든 운영체제에서 사용이 가능하다. JVM(Java Virtual Machine)이 운영체제와 프로그램 사이에서 프로그램이 동작하고 있는 운영체.. 2021. 10. 4.