전체 글(170)
-
WIL#3
객체지향 프로그래밍이란 JVM 구조에 맞춰 가장 효울적인 코딩을 하기 위한 매뉴얼 같다. 예를 들어 얘기하면 감자튀김 매뉴얼 : 감자튀김 온도 180도 3분 튀기기 이렇게 감자튀김을 튀기면 되는데 조리자의 편의를 위해 감자튀김 온도 220도 1분 튀기기 로 바꿔서 튀기는 것 같다. 조리자는 시간이 줄고 편의성이 좋아지고 손님에게 나갈 수 있지만 만약 먹게되면 안이 차가울 수 있고 여러 에러사항이 생길 수 있는 것 같다. 이런 에러사항을 고치려면 또 다른 방법을 찾아야하고 정확한 온도, 조리시간 등을 명확히 알 수 없기 때문에 더 까다롭듯이 이러한 에러사항이 안 생기도록 정하는 매뉴얼 같다. 객체지향 5원칙을 보면 당연하게 느끼지만 각각의 문법들을 직접 작성해야 하기에 현재는 이해보다 암기가 더 필요한 것..
2023.01.29 -
코딩 테스트 연습하면서 익힌 것들
void 출력이 없다. 입력 값만큼의 길이인 배열을 출력하려면 입력 값만큼의 길이인 배열을 초기화해야한다. ex) public long[] solution(int x, int n){ long[] answer = new long[n]; arraylist API에 위치해 있음 import java.util.ArrayList; ArrayList integers1 = new ArrayList(); // 타입 지정 ArrayList integers2 = new ArrayList(); // 타입 생략 가능 ArrayList integers3 = new ArrayList(10); // 초기 용량(Capacity) 설정 ArrayList integers4 = new ArrayList(integers1); // 다른 C..
2023.01.29 -
학습 방법에 대한 고민
현재 문제 현재 SOLID report작성 부분에서 막혔고 학습 방법에 대해 고민이 있다. 시도 다들 개념에 대해 이해하는 거라고 설명하고 있지만 나는 받아들이는게 조금 다르다고 느껴진다. 남궁성님께서 축구를 규칙을 다 알지 않고도 하면서 배울 수 있듯이 개념을 깊이 이해하지 않더라도 자연스럽게 하는 방법을 깨닫고 규칙을 적용시키면서 축구를 할 수 있다고 하셨다. 그렇듯 나는 비슷하게 어릴때 한글을 다 배우지 않고 사전적 지식을 알지 못하고도 말하는 법을 배우는 것이라 생각하고 더 많은 코드를 보며 자연스럽게 익숙해져야 할 것 같다는 생각이 들었다. 해결법 객체 지향 이전의 문법도 명확하게 알지 못하고 시도해서 체득하듯이 객체 지향은 양이 더 방대하다고 생각하고 더 오래 걸린다고 생각한다. 아직 익숙치 ..
2023.01.28 -
클래스와 객체
래스 ( = 설계도) 정의 : 객체를 정의해 놓은것 용도 : 객체를 생성하는데 사용 객체 ( = 제품) 정의 : 실제로 존재하는 것, 사물 또는 개념 용도 : 객체가 가지고 있는 속성과 기능에 따라 다름 구성요소 : 속성(변수) + 기능(메서드, print) 객체와 인스턴스 용어 정리 객체 : 모든 인스턴스를 대표하는 일반적인 용어 인스턴스 : 특정 클래스로부터 생성된 객체 인스턴스화 : 클래스 => 인스턴스(객체) 하나의 소스파일에 여러 클래스 작성 public class 명 = 소스파일 이름 (대소문자 모두 일치) 하나의 소스파일에는 public class가 하나만 들어갈 수 있음 main 메서드가 있는 클래스와 소스 파일명 일치해야함 객체의 생성과 사용 1. 클래스 작성(설계도) 2. 객체 생성(제..
2023.01.26 -
JAVA_#5_1
절차적/구조적 프로그래밍 절차적 프로그래밍 물이 아래로 흐르는 것처럼 프로그램의 순차적인 처리를 중요시하며, 프로그램 전체가 유기적으로 연결되도록 개발하는 것을 뜻합니다. - 컴퓨터의 작업 처리 방식과 유사히기 때문에 처리 속도가 빨라 시간적으로 유리합니다. - 프로그램의 기능을 중심으로 개발이 진행됩니다. 구조적 프로그래밍 - 함수를 사용해서 개발 하는 것 - 함수를 사용하면 중복 코드를 한 곳에 모아서 관리할 수 있기 때문에 이해하기 쉬운 코드를 작성할 수 있습니다. 객체지향 - 기존의 구조적 프로그래밍에서 가장 중요한 '함수'에서 소스코드를 논리적인 단위로 구분하고 분할하여 프로그래밍을 조금 더 편하게 만들어줬습니다. - 이에 그치지 않고 나아가 '우리가 주변 사물들을 인지하는 것'처럼 프로그래밍 ..
2023.01.26 -
복습
매개변수가 있는 메서드는 반드시 작업 전에 유효성 검사를 해야한다. getter, setter 메서드 데이터는 외부에서 접근하지 못하도록 막고, 메서드는 공개해서 외부에서 메서드를 통해 데이터에 접근하도록 유도한다. (메서드는 매개값을 검증해서 유효한 값만 데이터로 저장할 수 있기 때문이다.)
2023.01.26