안녕하세요🖐 오늘은 객체지향 핵심에 대하여 포스팅을 해보겠습니다. 변화에 적응하는 소프트웨어의 특징은 무엇일까요? 저는 이 질문에 대하여 고민을 해보았는데 마땅히 떠오르는게 확장성? 정도 였습니다. 정답은 바로 유연성 확장성 유지 보수성 이 3가지가 충족이 된다면 변화에 적응하는 소프트웨어의 특징입니다. 그러면 이 3가지를 충족시키기 위해서 중요하게 관리해야하는 것이 있다고 합니다 바로 '의존' 입니다. 의존이란? 어떠한 일을 자신의 힘으로 하지 못하고 다른 어떤 것의 도움을 받아 의지하는 것 의존은 코드에서는 어떻게 표현될까? 객체 참조에 의한 관계 메서드 리턴타입이나 파라미터로서의 의존관계 상속에 의한 의존 관계 구현에 의하 의존 관계 등 여러가지가 있을 것 입니다. 1) 객체 참조에 의한 연관 관계..
오늘은 메모리에 대하여 알아보겠습니다. 기본적으로 어플리케이션(=프로세스) 에서 실행은 메모리에 적재가 되며 실행 이 됩니다. ?? 그러면 어떻게 메모리에서 동작이 되나요 간단하게 예시를 들어서 설명을 해보겠습니다. Q. 자바를 이용하여 두개의 정수를 더하여 결과를 출력하는 프로그램을 만들어보겠습니다. 두개의 정수를 더해야 하므로 컴퓨터 프로그램안에 두개의 정수를 기억하는 공간이 있어야 합니다. 컴퓨터 언어로 해석을 해보면 위 두개의 정수는 '데이터' 이고'더하라' 는 것은 컴퓨터 프로그램을 동작시키는 '명령어' 입니다. 간단하게 설명을 하면 -> 컴퓨터는 0과1로 표현된 정보만을 이해합니다.그리고 0과 1로 표현되는 정보에는 크게 두 종류가 있는데 그게 바로 데이터 와 명령어 입니다 위 과정이 ..
Purpose : 자바에 대한 흥미를 얻고, 다양한 경험을 해보기 위함이며, 더 나아가 세미프로젝트에 적용시켜볼수 있도록 노력해볼 것. 1) 소켓과 소켓 통신이란? -> 소켓(Socket)은 TCP/IP기반 네트워크 통신에서 데이터 송수신의 마지막 접점을 의미합니다.소켓통신은 이러한 소켓을 통해 서버-클라이언트간의 데이터를 주고받는 양방향 연결지향성 통신을 의미함.보통 소켓통신의 지속적으로 연결을 유지해주면서 실시간으로 데이터를 주고받는 경우에 사용함ex) 라이브 채팅서버, 게임 및 보통 채팅서버. 소켓간 통신을 위해서는 네트워크 상에서 클라이언트와 서버에 해당하는 컴퓨터를 식별하기 위한IP주소와 해당 컴퓨터내 포트번호를 요구합니다 2) 서버와 클라이언트소켓통신에서는 서버와 클라이언트가 존재해..
step 0. 개념정리 모든 클래스의 가장 최상위 클래스 : Object 클래스가 있습니다 자바에서 제공하는 모든 클래스들은 계층 구조로 형성 되있고그 계층구조 최상위에는 Object 클래스가 있습니다. 모든 클래스들의 생성할때 적혀있지는 않지만Object 클래스가 기본적으로 상속 구조가 되어있습니다그래서 Object클래스에서 사용할 수 있는 메서드들을 사용할 수 있고, 재정의 또한 가능합니다. 즉 자바 라이브러리나 저희가 직접 만드는 클래스에는Object 클래스를 부모클래스로 자동 상속 받아 사용하고 있다는 뜻 입니다. toString() 메서드? -> object(객체)가 가지고 있는 정보나 값들을 문자열로 만들어서 return 해주는 메서드 입니다. class Objects {..
public 클래스클래스를 작성할 때 약간 헷갈렸던 부분이 있습니다public을 앞에 쓴 것과 public을 사용하지않고 그냥 -> class 클래스명 . 차이점이 궁금 하였습니다. 다음과 같은 클래스 파일을 MyTest.java라는 이름으로 작성해 보자.MyTest.javaclass MyTest {}문제 없이 컴파일이 잘 됩니다. 다음으로는 위 소스 파일에 다른 클래스를 하나 더 추가 해 보겠습니다.class MyTest {}class MyTest2 {}이것 또한 컴파일이 잘 됩니다.요번엔 다르게 수정 해 보았습니다..class MyTest {}public class MyTest2 {}MyTest2라는 클래스 앞에 public 접근제어자를 붙였더니 컴파일 에러가 발생하였다.다시 다음과 같이 수정 해 보..
Getter & Setter (이클립스 단축키 -> Alt + Shift + S) (인텔리제이 (Alt + Insert) 1) 오늘은 Java에서 자동생성 가능한 getter & setter에 대하여 공부해보았습니다. 맨 처음 공부하면서 이런 기능을 어떻게 활용하는지와 왜 필요하는지에 대해 생각을 해보았습니다. Getter & Setter 객체의 필드를 외부에서 마음대로 읽고, 변경하면 객체의 무결성이 깨질 수 있다. 이러한 문제점 때문에 OOP 에서는 직접적인 외부에서의 필드 접근을 막고 대신 메소드를 통해 필드에 접근 하는 것을 선호한다. 그 이유는 메소드는 데이터를 검증해서 유효한 값만 필드에 저장할 수 있기 때문이다 → 위 역할 setter 아래 코드를 보자 private double speed;..