본문 바로가기

전체 글74

[Java] 상속 상속이란?  기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 이때 기존의 클래스를 '부모 클래스', 새로운 클래스를 '자식 클래스'라고 한다. 자식 클래스는 부모 클래스의 멤버를 물려받고, 새로운 내용을 추가하거나 기존 내용을 필요에 따라 수정할 수 있다. 즉, 공통된 코드는 부모 클래스에 존재하며 자식 클래스는 자신만의 고유한 코드를 가진다. 이처럼 상속을 통해서 클래스를 작성하면 코드의 관리, 추가 및 변경이 용이하다. 이런 특징은 코드의 재사용성을 높이고 중복을 제거하여 프로그램의 생산성을 높이고 효율적인 유지보수를 가능케 한다. class Parent { //... } //Child 클래스는 Parent 클래스를 상속 class Child extends Parent { //... }.. 2022. 6. 10.
[Java] 객체지향 프로그래밍 I 객체지향언어의 등장배경 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 실제 세계를 모방한 가상 세계에서 모의실험을 함으로써 많은 시간과 비용을 절약할 수 있다는 점과 프로그램의 규모가 점점 커지고 사용자들의 요구가 빠르게 변화해가는 상황을 절차적 언어로는 극복하기 어렵다는 한계로 객체지향언어가 주류로 자리 잡았다. 객체지향언어란? 객체지향언어는 기존 관점에서 벗어나 객체들의 모임으로 파악하고, 객체 간에 상호작용이 발생한다는 개념이다. 객체지향언어는 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 추가된 규칙으로 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하.. 2022. 6. 6.
[Web] 시작하기 인터넷(Internet) 인터넷은 여러 통신망을 하나로 연결하다는 '인터 네트워크'라는 의미로, 이제는 전 세계 사람들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미한다. 여러 컴퓨터가 각각 클라이언트와 서버로써 서로 연결되어 구성된 망을 컴퓨터 네트워크라고 하며, 인터넷은 컴퓨터 네트워크가 전 세계적인 규모로 이루어진 컴퓨터 네트워크 시스템이다. 즉, 인터넷은 수많은 클라이언트 컴퓨터와 서버 컴퓨터, 그리고 이들로 구성된 네트워크들의 집합체이다. 익명성 다양한 포맷(텍스트, 이미지, 음성, 동영상 등)으로 통신 가능 쌍방향 통신 제공 웹(Web) 웹은 전자 우편이나 파일을 통한 전달이 비효율적이라고 생각하여, 공통된 공간에 각자의 정보를 올리고 관리할 수 있는 정보 관리 시스템에서 시작되었다. 처음에 .. 2022. 6. 3.
[Spring] 시작하기 Spring Framework 등장배경 EJB(Enterprise JavaBeans)의 궁극적인 목적은 '자바 엔터프라이즈 개발을 편하게'지만 매우 무겁고 복잡했으며 프레임워크와 개발환경의 의존성이 높다는 한계점이 있다. 스프링은 이런 한계점의 대안을 모색하는 중에 등장했다. Spring Framework란? Spring Framework는 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 1. 애플리케이션 프레임워크 프레임워크는 애플리케이션의 특정 계층에서 주로 동작하는 한 가지 기술 분야에 집중되지만, 애플리케이션 프레임워크는 전 영역을 포괄하는 범용적인 프레임워크이다. 스프링의 기원은 책과 책의 예제에 포함된 프레임워크로, 책에선 자바 엔터프라이즈 개발의 전 계층에.. 2022. 5. 29.
[Java] 조건문, 반복문, 배열 조건문 조건문은 조건식과 문장을 포함하는 블럭{}으로 구성되며, 조건식의 결과에 따라 실행흐름이 변경된다. 이때 조건식의 결과는 반드시 boolean형이어야 한다. if문 if문의 구조는 다음과 같으며 조건식이 true인 경우 블럭 내의 문장들을 수행한다. if (조건식) { //수행할 문장 } //1. 블럭의 위치는 {}쌍만 맞으면 어디에 위치하든 상관없지만 //대표적으로 다음 두 가지가 사용된다. if (조건식) { //생략 } if (조건식) { //생략 } //2. 블럭 내의 문장이 1개만 있는 경우 블럭을 생략할 수 있다. if (조건식) System.out.println("test"); //3. 블럭이 생략된 경우 문장이 여러 개인 경우 //첫번째 문장을 제외하고 if 외부에 있는 것으로 인식.. 2022. 5. 28.
[Java] 연산자 연산자 연산자(operator) : 연산을 수행하는 기호(+, -, *, / 등) 피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) '산술 > 비교 > 논리 > 대입'의 순서대로 수행된다. (괄호 안의 식이 가장 우선순위가 높다.) '단항 > 이항 > 삼항'의 순서대로 우선순위가 높다. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다. ※ 산술 변환은 연산 수행 직전에 발생하는 피연산자의 자동 형변환을 의미하며, 연산결과의 타입은 피연산자의 타입과 일치한다. 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 형변환) 피연산자의 타입이 int보다 작은 타입이면 int로 형변환된다.(오버플로우 방지 및 CPU 연산 효율 고려) 단항 연산자 증.. 2022. 5. 27.